@import "../../../vendor/assets/stylesheets/github";
@import "../../../vendor/assets/stylesheets/obsidian";
@import "../../../vendor/assets/stylesheets/bigfoot-default";

@import "theme";
@import "functions";

/*------------------------------------------------------------------------------
Variables
------------------------------------------------------------------------------*/

$small-breakpoint: 700px;

$toolbar-height: 44px;
$font-stack: -apple-system, system-ui, "Helvetica Neue", Helvetica, Arial, sans-serif;
$audio-player-height: 115px;
$audio-player-height-minimized: 54px;
$base-button-position: 10px;

/*-- Colors --*/
$theme-color-base: white;
$theme-color-100: #f5f5f7;
$theme-color-200: #e9e9eb;
$theme-color-300: #bdbfc3;
$theme-color-400: #91959b;
$theme-color-500: #707680;
$theme-color-600: #39404b;
$theme-color-700: #0d1623;

$theme-color-sunset-base: #f5f2eb;
$theme-color-sunset-100: #ebe8e2;
$theme-color-sunset-200: #dfdcd6;
$theme-color-sunset-300: #b8b6b0;
$theme-color-sunset-400: #8e8c88;
$theme-color-sunset-500: #6e6d69;
$theme-color-sunset-600: #3b3a38;
$theme-color-sunset-700: #191818;

$theme-color-dusk-base: #262626;
$theme-color-dusk-100: #2d2d2d;
$theme-color-dusk-200: #353535;
$theme-color-dusk-300: #4d4d4d;
$theme-color-dusk-400: #707070;
$theme-color-dusk-500: #8c8c8c;
$theme-color-dusk-600: #d4d4d4;
$theme-color-dusk-700: #f6f6f6;

$theme-color-midnight-base: black;
$theme-color-midnight-100: #141414;
$theme-color-midnight-200: #242424;
$theme-color-midnight-300: #3b3b3b;
$theme-color-midnight-400: #595959;
$theme-color-midnight-500: #757575;
$theme-color-midnight-600: #bababa;
$theme-color-midnight-700: #f5f5f5;

$color-accent-blue-400: #619eec;
$color-accent-blue-600: #0867e2;
$color-accent-blue-700: #0755b9;

$color-accent-orange-600: #e96a0e;

$color-accent-green-600: #07ac47;
$color-accent-green-700: #068d3b;

$color-accent-red-200: #f8e7ea;
$color-accent-red-600: #bb0b2f;

$color-base: (
  debug: color-base,
  day: $theme-color-base,
  sunset: $theme-color-sunset-base,
  dusk: $theme-color-dusk-base,
  midnight: $theme-color-midnight-base,
);

$color-contrast-100: (
  debug: color-contrast-100,
  day: $theme-color-100,
  sunset: $theme-color-sunset-100,
  dusk: $theme-color-dusk-100,
  midnight: $theme-color-midnight-100,
);

$color-base-alt: (
  debug: color-base-alt,
  day: $theme-color-base,
  sunset: $theme-color-sunset-base,
  dusk: $theme-color-dusk-100,
  midnight: $theme-color-midnight-100,
);

$color-contrast-200: (
  debug: color-contrast-200,
  day: $theme-color-200,
  sunset: $theme-color-sunset-200,
  dusk: $theme-color-dusk-200,
  midnight: $theme-color-midnight-200,
);

$color-contrast-300: (
  debug: color-contrast-300,
  day: $theme-color-300,
  sunset: $theme-color-sunset-300,
  dusk: $theme-color-dusk-300,
  midnight: $theme-color-midnight-300,
);

$color-contrast-400: (
  debug: color-contrast-400,
  day: $theme-color-400,
  sunset: $theme-color-sunset-400,
  dusk: $theme-color-dusk-400,
  midnight: $theme-color-midnight-400,
);

$color-contrast-500: (
  debug: color-contrast-500,
  day: $theme-color-500,
  sunset: $theme-color-sunset-500,
  dusk: $theme-color-dusk-500,
  midnight: $theme-color-midnight-500,
);

$color-contrast-600: (
  debug: color-contrast-600,
  day: $theme-color-600,
  sunset: $theme-color-sunset-600,
  dusk: $theme-color-dusk-600,
  midnight: $theme-color-midnight-600,
);

$color-contrast-700: (
  debug: color-contrast-700,
  day: $theme-color-700,
  sunset: $theme-color-sunset-700,
  dusk: $theme-color-dusk-700,
  midnight: $theme-color-midnight-700,
);

$color-borders: (
  debug: color-borders,
  day: $theme-color-200,
  sunset: $theme-color-sunset-200,
  dusk: black,
  midnight: $theme-color-midnight-200,
);
$color-borders-alt: map-merge(
  $color-borders,
  (
    debug: color-borders-alt,
    midnight: black,
  )
);

$color-selected: (
  debug: color-selected,
  day: $color-accent-blue-600,
  sunset: $color-accent-blue-600,
  dusk: #0974FF,
  midnight: #0974FF,
);

$color-selected-hover: (
  debug: color-selected-hover,
  day: $color-accent-blue-700,
  sunset: $color-accent-blue-700,
  dusk: $color-accent-blue-700,
  midnight: $color-accent-blue-700,
);

$color-selected-active: (
  debug: color-selected-active,
  day: $color-accent-blue-600,
  sunset: $color-accent-blue-600,
  dusk: $color-accent-blue-600,
  midnight: $color-accent-blue-600,
);

$color-selected-off: (
  debug: color-selected-off,
  day: $theme-color-500,
  sunset: $theme-color-sunset-500,
  dusk: $theme-color-dusk-100,
  midnight: $theme-color-midnight-100,
);

$color-logo-foreground: (
  debug: color-logo-foreground,
  day: $theme-color-200,
  sunset: $theme-color-sunset-200,
  dusk: $theme-color-dusk-base,
  midnight: $theme-color-midnight-base,
);

$color-logo-background: (
  debug: color-logo-background,
  day: transparent,
  sunset: transparent,
  dusk: $theme-color-dusk-200,
  midnight: $theme-color-midnight-200,
);

$image-spinners: (
  debug: image-spinners,
  day: image-url("spinner-day.svg"),
  sunset: image-url("spinner-sunset.svg"),
  dusk: image-url("spinner-night.svg"),
  midnight: image-url("spinner-night.svg"),
);

$color-icons: $color-contrast-700;
$color-arrow-shadow: $color-borders;
$selected: #0867e2;
$inset-bg-color: #f4f6f8;
$box-shadow-dropdown: 0px 4px 6px 2px rgba(0, 0, 0, 0.1);
$focus-glow: 0px 0px 0px 4px $color-accent-blue-400;
$focus-glow-inset: inset $focus-glow;
$subtle-focus-glow: 0px 0px 1px 0 rgba($selected, 1);
$color-selected-muted: rgba(white, 0.7);
$color-selected-muted-light: rgba(white, 0.3);

$color-sidebar: (
  debug: color-sidebar,
  day: $theme-color-100,
  sunset: $theme-color-sunset-100,
  dusk: map-get($color-base, dusk),
  midnight: map-get($color-base, midnight),
);

$color-base-light-100: (
  debug: color-base-light-100,
  day: $theme-color-100,
  sunset: $theme-color-sunset-100,
  dusk: $theme-color-dusk-600,
  midnight: $theme-color-midnight-600,
);

$color-base-light-200: (
  debug: color-base-light-200,
  day: $theme-color-200,
  sunset: $theme-color-sunset-200,
  dusk: $theme-color-dusk-500,
  midnight: $theme-color-midnight-500,
);

$color-base-dark-700: (
  debug: color-base-dark-300,
  day: $theme-color-700,
  sunset: $theme-color-sunset-700,
  dusk: $theme-color-dusk-200,
  midnight: $theme-color-midnight-200,
);

$color-base-dark-600: (
  debug: color-base-dark-300,
  day: $theme-color-600,
  sunset: $theme-color-sunset-600,
  dusk: $theme-color-dusk-200,
  midnight: $theme-color-midnight-200,
);

$color-disabled-foreground: (
  debug: color-base-light-200,
  day: $theme-color-200,
  sunset: $theme-color-sunset-200,
  dusk: $theme-color-dusk-400,
  midnight: $theme-color-midnight-400,
);

$color-control-border: (
  debug: color-base-light-200,
  day: $theme-color-400,
  sunset: $theme-color-sunset-400,
  dusk: $theme-color-dusk-500,
  midnight: $theme-color-midnight-500,
);

/*------------------------------------------------------------------------------
HTML Elements
------------------------------------------------------------------------------*/
:root {
  --toolbar-height: #{$toolbar-height};
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

body,
html {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 16px;
  -webkit-text-size-adjust: none;
  &.native {
    height: 100vh;
  }
}

body {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
  font-family: $font-stack;
  @include background-color($color-base) @include color($color-contrast-600);
  &.theme-sunset {
    background-color: map-get($color-base, sunset);
    color: map-get($color-contrast-700, sunset);
  }
  &.theme-dusk {
    background-color: map-get($color-base, dusk);
    color: map-get($color-contrast-700, dusk);
  }
  &.theme-midnight {
    background-color: map-get($color-base, midnight);
    color: map-get($color-contrast-700, midnight);
  }
  &.theme-auto {
    background-color: map-get($color-base, day);
    color: map-get($color-contrast-700, day);
    @media (prefers-color-scheme: dark) {
      background-color: map-get($color-base, dusk);
      color: map-get($color-contrast-700, dusk);
    }
  }
  @include respond-to(hidpi) {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;
  }
  &.app {
    overflow: hidden;
  }
  &.native.app {
    display: flex;
  }
  &.touch.app {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
}

$color-link: (
  debug: color-link,
  day: $color-accent-blue-600,
  sunset: $color-accent-blue-600,
  dusk: $theme-color-dusk-700,
  midnight: $theme-color-midnight-700,
);
a,
.link {
  @include color($color-link);
  text-decoration: none;
}

$color-hover: (
  debug: color-hover,
  day: $color-accent-blue-700,
  sunset: $color-accent-blue-700,
  dusk: $theme-color-dusk-600,
  midnight: $theme-color-midnight-600,
);
a:hover {
  @include color($color-hover);
  text-decoration: underline;
}

a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

a:hover,
a:active {
  outline: 0;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

pre {
  white-space: pre-wrap;
}

pre code {
  background-color: transparent;
}

iframe {
  border: none;
  max-width: 100% !important;
}

svg {
  overflow: visible;
}

table {
  max-width: 100%;
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
}

table {
  max-width: 100%;
  background-color: transparent;
}

.table {
  width: 100%;
  margin-bottom: 20px;
  th {
    text-align: left;
  }
}

.table thead > tr > th,
.table tbody > tr > th,
.table tfoot > tr > th,
.table thead > tr > td,
.table tbody > tr > td,
.table tfoot > tr > td {
  @include border-top($color-borders);
  padding: 8px;
  line-height: 1.428571429;
  vertical-align: top;
}

.table thead > tr > th {
  vertical-align: bottom;
}

.table caption + thead tr:first-child th,
.table colgroup + thead tr:first-child th,
.table thead:first-child tr:first-child th,
.table caption + thead tr:first-child td,
.table colgroup + thead tr:first-child td,
.table thead:first-child tr:first-child td {
  border-top: 0;
}

.table tbody + tbody {
  border-top: 2px solid transparent;
  @include border-color($color-borders);
}

.table .table {
  background-color: transparent;
}

.table-bordered {
  @include border($color-borders);
}

.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  @include border($color-borders);
}

.table-striped {
  tr:first-child th,
  tr:first-child td {
    border: none !important;
  }
  td,
  th {
    padding: 11px !important;
  }
  border-bottom: none !important;
}


/*------------------------------------------------------------------------------
Structure
------------------------------------------------------------------------------*/
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  max-width: 1170px;
}

.loading-app {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  .logo {
    max-height: 80px;
    max-width: 80px;
    #logo_foreground {
      @include fill($color-logo-foreground);
    }
    #logo_background {
      @include fill($color-logo-background);
    }
  }
}

$search-height: 47px;

.subscribe-promo {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  .subscribe-promo-inner {
    margin-top: 195px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    .remaining-time {
      margin-bottom: base-units(1);
      @include color($color-contrast-600);
    }
    @media (max-height: 450px) {
      margin-top: 120px;
    }
  }
  .entry-selected & {
    display: none;
  }
  .native & {
    display: none;
  }
}

.splash {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  .logo {
    max-height: 80px;
    max-width: 80px;
    #logo_foreground {
      @include fill($color-logo-foreground);
    }
    #logo_background {
      @include fill($color-logo-background);
    }
  }
  .splash-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .trial-time {
    position: relative;
    top: 48px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    .remaining-time {
      margin-bottom: base-units(1);
      @include color($color-contrast-600);
    }
    .native & {
      display: none;
    }
  }
  .entry-selected & {
    display: none;
  }
}

.app-wrap {
  display: flex;
  overflow: hidden;
  align-items: flex-start;
  height: 100%;
  scrollbar-width: none;
  -ms-overflow-style: none;
  &::-webkit-scrollbar {
    display: none;
  }
  .native & {
    flex: 1;
    padding-top: env(safe-area-inset-top);
  }
  .native.native-platform-mac & {
    padding-top: 0;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased;

  }
  .feeds-column,
  .entries-column {
    flex-grow: 0;
    @include border-right($color-borders);
  }
  .feeds-column {
    width: 280px;
    @include background-color($color-base);
  }
  .inner-column, .entry-inner-column {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .inner-column {
    display: flex;
    flex-direction: column;
  }
  .entries-column {
    width: 380px;
    @media (max-width: 1300px) {
      width: 320px;
    }
  }
  .entry-column {
    flex-grow: 1;
  }
  &.show {
    display: flex !important;
  }
}

.app-panel {
  height: 100%;
  position: relative;
}

.scroll-bars {
  ::-webkit-scrollbar,
  &.settings-body::-webkit-scrollbar {
    appearance: none;
    width: 12px;
  }
  ::-webkit-scrollbar-thumb,
  &.settings-body::-webkit-scrollbar-thumb {
    border: 3px solid transparent;
    @include border-color($color-contrast-200, $root: true);
    @include background-color($color-contrast-400, $root: true);
    border-radius: 6px;
    &:hover {
      @include background-color($color-contrast-500, $root: true);
    }
  }
  ::-webkit-scrollbar-track-piece,
  &.settings-body::-webkit-scrollbar-track-piece {
    @include background-color($color-contrast-200, $root: true);
  }

  // Firefox
  scrollbar-color: map-get($color-contrast-400, day)
    map-get($color-contrast-200, day);
  &.theme-sunset {
    scrollbar-color: map-get($color-contrast-400, sunset)
      map-get($color-contrast-200, sunset);
  }
  &.theme-dusk {
    scrollbar-color: map-get($color-contrast-400, dusk)
      map-get($color-contrast-200, dusk);
  }
  &.theme-midnight {
    scrollbar-color: map-get($color-contrast-400, midnight)
      map-get($color-contrast-200, midnight);
  }
  &.theme-auto {
    scrollbar-color: map-get($color-contrast-400, day)
      map-get($color-contrast-200, day);
    @media (prefers-color-scheme: dark) {
      scrollbar-color: map-get($color-contrast-400, dusk)
        map-get($color-contrast-200, dusk);
    }
  }
}

.hamburger-menu-wrap {
  position: absolute;
  user-select: none;
  top: 0;
  right: 0;
  width: $toolbar-height - 1;
  height: $toolbar-height - 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  svg {
    @include fill($color-icons);
  }
}

$hamburger-dot: 4px;
.hamburger-menu {
  cursor: pointer;
  z-index: 2;
  position: relative;
  &:before {
    left: -6px;
    position: absolute;
  }
  &:after {
    position: absolute;
    left: 6px;
  }
}
.hamburger-menu,
.hamburger-menu:before,
.hamburger-menu:after {
  width: $hamburger-dot;
  height: $hamburger-dot;
  border-radius: $hamburger-dot/2;
  content: "";
  display: inline-block;
  @include background-color($color-icons);
}

.bottom-toolbar {
  @include font-size(10);
  @include background-color($color-base);
  @include border-top(transparent);
  padding-bottom: 16px;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  .entries-column & {
    display: none;
  }
  .has-offscreen-panels .feeds-column & {
    display: none;
  }
  .has-offscreen-panels .entries-column & {
    display: flex;
  }
  .toolbar-inner {
    display: flex;
    width: 100%;
    justify-content: flex-end;
  }
  @media (max-width: $small-breakpoint) {
    @include border-top($color-borders-alt);
  }
}

.feed-toolbar {
  padding-bottom: 0;
  z-index: 2;
  padding: 16px 0 20px 0;
  transition: transform 0.2s ease-out;
  will-change: transform;
  .entries-column & {
    padding: 8px 0;
  }
  .toolbar-button {
    flex: 1;
    appearance: none !important;
    border: none;
    margin: 0;
    padding: 0;
    @include font-size(12);
    font-family: $font-stack;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-direction: column;
    background-color: transparent;
    cursor: pointer;
    &:hover {
      text-decoration: none;
    }
    span {
      padding-top: 6px;
      @include color($color-icons);
      flex: 0 0 auto;
      .has-offscreen-panels & {
        padding-top: 4px;
      }
    }
    svg {
      @include fill($color-icons);
    }
    &[disabled] {
      pointer-events: none;
      cursor: default;
      span {
        @include color($color-contrast-300);
      }
      svg {
        @include fill($color-contrast-300);
      }
    }
  }
  .toolbar-button-inner {
    justify-content: center;
    align-items: flex-end;
    display: flex;
  }
  .add-button {
    .has-offscreen-panels & {
      display: none;
    }
  }
  .edit-button {
    span {
      position: relative;
      left: -1px;
    }
  }
  .icon-subscribe {
    $size: 38px;
    @include color(white);
    @include background-color($color-icons);
    user-select: none;
    line-height: 1;
    cursor: pointer;
    touch-action: manipulation;
    display: flex;
    align-items: center;
    justify-content: center;
    width: $size;
    height: $size;
    border-radius: $size;
    svg {
      @include fill($color-base);
    }
  }
  .one-up &, .two-up & {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
  .one-up.hide-entries-column-toolbar &,
  .two-up.hide-entries-column-toolbar & {
    transform: translateY(100%);
  }
}

.view_unread {
  .zero-count {
    display: none;
  }
  .collection-starred,
  .collection-all {
    display: none;
  }
}
.view_starred {
  .zero-count {
    display: none;
  }
  .collection-all,
  .collection-unread,
  .collection-updated {
    display: none;
  }
}
.view_all {
  .zero-count .count {
    display: none;
  }
  .collection-starred,
  .collection-unread,
  .collection-updated {
    display: none;
  }
}

.collection-saved-search.zero-count {
  display: block;
}

.collection-unread {
  .favicon-unread-active {
    display: none;
  }
  &.selected {
    .favicon-unread {
      display: none;
    }
    .favicon-unread-active {
      display: inline;
    }
  }
}

.view-mode {
  position: sticky;
  top: -10px;
  z-index: 2;
  @include background-color($color-base);
  @include size-in-rems(padding, 25 16 8 16) display: flex;
  .view-mode-icon {
    $size: 27px;
    height: $size;
    width: $size;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease;
    svg {
      @include fill($color-icons);
    }
  }
  .view-mode-dropdown {
    display: flex;
    flex: 1;
    align-items: center;
    cursor: pointer;
    .dropdown-content {
      top: 40px;
      left: -8px;
    }
  }
  .selected-view-mode {
    margin: 0;
    @include font-size(24);
    font-weight: bold;
    line-height: 1.1;
    @include color($color-contrast-700);
    transition: transform 0.2s ease;
    transform-origin: top left;
    display: flex;
    align-items: center;
    .view-mode-unread,
    .view-mode-starred,
    .view-mode-all {
      display: none;
    }
    .view_unread & .view-mode-unread {
      display: block;
    }
    .view_starred & .view-mode-starred {
      display: block;
    }
    .view_all & .view-mode-all {
      display: block;
    }
  }
  .toggle-search {
    align-items: center;
    justify-content: center;
    display: flex;
    appearance: none !important;
    border: none;
    padding: 0;
    width: 48px;
    height: 40px;
    background-color: transparent;
    transition: transform 0.2s ease;
    position: relative;
    right: -1rem;
    svg {
      @include fill($color-icons);
    }
    .has-offscreen-panels .feeds-column & {
      display: none;
    }
  }
  .feed-scrolled:not(.has-offscreen-panels) & {
    .selected-view-mode {
      transform: scale(0.75);
    }
    .toggle-search {
      transform: translate3d(0, -3px, 0);
    }
  }
  .feed-scrolled.has-offscreen-panels & {
    position: static;
  }
}

.feeds .view-mode {
  display: none;
  @include size-in-rems(padding-bottom, 25) .has-offscreen-panels & {
    display: flex;
  }
}

.top-toolbar {
  .show-subscribe svg {
    @include fill($color-icons);
  }
  .show-subscribe,
  .settings-button-wrap {
    display: none;
  }
}
.has-offscreen-panels .top-toolbar {
  height: $toolbar-height;
  @include border-bottom(transparent);
  align-items: center;
  justify-content: space-between;
  display: flex;
  .show-subscribe,
  .settings-button-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    appearance: none;
    border: none;
    background: none;
    padding: 0;
  }
  .hamburger-menu-wrap,
  .show-subscribe {
    position: static;
    height: $toolbar-height - 1px;
    width: 48px;
  }
  .view-mode,
  .select-wrap,
  select {
    height: 100%;
  }
  .view-mode {
    margin: 0;
    padding: 0;
    display: none;
    select {
      margin: 0;
      transform: scale(1);
      width: auto;
    }
  }
  .toggle-search {
    display: none;
  }
  .selected-view-mode {
    font-size: 16px;
    align-items: center;
  }
  .view-mode {
    position: static;
  }
  .view-mode-dropdown {
    position: static;
    .dropdown-content {
      left: 8px;
      right: auto;
      top: 42px;
    }
  }
}
.feed-scrolled-alt.has-offscreen-panels .top-toolbar {
  @include border-bottom($color-borders-alt, $root: true);
  .view-mode {
    display: flex;
  }
}

.feeds {
  @include background-color($color-base);
  overflow-y: hidden;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  flex: 1;
  padding-top: 12px;
  &.show {
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }
  .has-offscreen-panels & {
    padding-top: 0;
  }
  .feeds-target {
    padding-bottom: env(safe-area-inset-bottom);
  }
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
    li {
      a {
        text-decoration: none;
      }
      .rename-form {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: 0;
        padding: 0;
        z-index: 10;
        height: 30px;
      }
      .rename-feed-input {
        position: absolute;
        top: 5px;
        left: 64px;
        right: 40px;
        appearance: none;
        padding: 2px;
        margin: 0;
        line-height: 1;
        border: 0;
        @include font-size(14);
        max-width: 100%;
        border-radius: 0;
        text-overflow: ellipsis;
        cursor: text;
        @include color($color-contrast-700);
        &.disabled {
          cursor: pointer;
          pointer-events: none;
          background-color: transparent;
        }
      }
      &.tag > .rename-form .rename-feed-input {
        left: 40px;
      }
      .count-wrap {
        margin-left: 8px;
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        text-align: right;
        flex: 0 0 auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
      }
      .count {
        @include color($color-contrast-500);
        line-height: 1.3;
      }
      .tag-link .count-wrap {
        margin-left: 0;
      }
      .tag-link .favicon-wrap {
        display: none;
      }
      .source-menu {
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0;
        overflow: visible;
        width: 30px;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        padding-right: 16px;
        @include fill($color-contrast-500);
        display: none;
      }
      a:has(.source-menu):hover {
        .source-menu {
          display: flex;
          .touch & {
            display: none;
          }
        }
        .count-wrap {
          visibility: hidden;
          .touch & {
            visibility: visible;
          }
        }
      }
      a.showing-source-menu {
        .source-menu {
          display: flex;
        }
        .count-wrap {
          visibility: hidden;
        }
      }
      .feed-action-form {
        padding: 0;
        margin: 0;
        overflow: visible;
        min-width: 50px;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        .feed-action-clear {
          font-weight: bold;
          @include color($color-contrast-400);
          @include font-size(12);
          display: block;
          appearance: none;
          background: none;
          border: none;
          padding: 0 16px 0 0;
          margin: 0;
          text-align: right;
          position: absolute;
          right: 0;
          top: 0;
          bottom: 0;
        }
      }
      .clear-form {
        display: none;
      }
      &.selected {
        .feed-action-clear {
          @include color(white);
        }
        > a .source-menu {
          @include fill(white);
        }
        .clear-form {
          display: block;
        }
      }
      .tag-link {
        position: relative;
      }
      &.tag {
        .drawer {
          height: 0;
          opacity: 0;
        }
        .icon-caret {
          @include fill($color-icons);
          transform: rotate(-90deg);
          position: relative;
          left: -3px;
        }
        &.open {
          .drawer {
            height: auto;
            opacity: 1;
          }
          .icon-caret {
            transform: rotate(0deg);
          }
        }
        &.animate {
          .drawer {
            transition: opacity 0.3s linear;
          }
          .icon-caret {
            transition: transform 0.15s linear;
          }
        }
      }
      .tag-visibility-control {
        padding: 0;
        margin: 0;
        .feed-action-expand {
          padding: 0;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          display: flex;
          align-items: center;
          justify-content: center;
          appearance: none;
          background: none;
          border: none;
          margin: 0;
        }
      }
      &.selected {
        .feed-action-expand {
          svg {
            @include fill(white);
          }
        }
        .clear-form {
          display: block;
        }
      }
      &.ui-draggable-dragging {
        background-color: rgba(255, 255, 255, 1);
        @include background-color($color-selected);
        opacity: 0.8;
        border-radius: 4px;
        .count {
          display: none;
        }
        .feed-link .link-inner {
          background-color: transparent !important;
          .rename-feed-input {
            color: white !important;
            &.disabled {
              color: white !important;
            }
          }
        }
      }
    }
  }
  .drawer {
    position: relative;
    overflow: hidden;
    ul {
      overflow: hidden;
      padding: 0;
      position: relative;
      &:before {
        content: "";
        @include background-color($color-contrast-200);
        display: block;
        position: absolute;
        top: -1px;
        left: 42px;
        right: 15px;
        height: 1px;
      }
    }
  }
  .droppable-hover > a {
    @include theme(background-color, $color-selected, $extra: !important);
  }
}

.feeds:not(.dragging) .selected {
  > a .count {
    @include color($color-selected-muted);
  }
  input[disabled] {
    color: rgba(255, 255, 255, 0.9);
  }
  .rename-feed-button {
    @include background-color($color-selected);
  }
}

.feeds:not(.dragging) .selected > a .link-inner {
  @include background-color($color-selected-off);
  color: white !important;
  .rename-feed-input {
    color: map-get($color-contrast-700, day);
    &.disabled {
      color: white;
    }
  }
}

.selected .feeds:not(.dragging) .selected > a .link-inner {
  @include background($color-selected);
  &:hover {
    @include background($color-selected);
  }
}

.feeds:not(.dragging) li.selected .feed-drawer ul:after {
  @include theme(border-top-color, $color-selected-off);
}

.selected .feeds:not(.dragging) li.selected .feed-drawer ul:after {
  @include theme(border-top-color, $color-selected);
}

.feeds {
  .drop-hover > a {
    @include background-color($color-contrast-200);
  }
  li.drop-hover .drawer {
    @include box-shadow($color-contrast-200, inset 0 0 0 3px);

    ul:after {
      @include theme("border-top-color", $color-borders);
    }
  }
}

.feed-list {
  li {
    position: relative;
    z-index: 0;

    .link-inner, &.source-section {
      @include font-size(14);
      @include color($color-contrast-600);
      @include size-in-rems(padding-top, 6);
      @include size-in-rems(padding-bottom, 6);
      .favicon-wrap {
        margin-right: 6px;
        flex-shrink: 0;
      }
      .collection-label-wrap {
        min-width: 0;
        flex: 1 1 auto;
        line-height: 1;
        display: flex;
        align-items: center;
        padding-right: 16px;
      }
      .collection-label {
        display: block;
        text-overflow: ellipsis;
        overflow: hidden;
        line-height: 1.3;
        white-space: nowrap;
        &.hide {
          display: none;
        }
      }
    }
    .muted-icon {
      @include fill($color-contrast-500);
      display: none;
    }
    &.muted-source {
      .link-inner {
        @include color($color-contrast-500);
      }
      .muted-icon {
        display: block;
      }
      .count {
        display: none;
      }
      .favicon-wrap * {
        filter: grayscale(100%);
        opacity: 0.7;
      }
      &.selected {
        .muted-icon {
          fill: white;
        }
      }
    }
    &.source-section {
      @include font-size(12);
      @include size-in-rems(padding-top, 22);
      @include color($color-contrast-500);
      font-weight: bold;
      display: flex;
      align-items: center;
      svg {
        @include fill($color-icons);
      }
      &.hide {
        display: none;
      }
    }
    .link-inner {
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      width: 100%;
      display: block;
      align-items: center;
      display: flex;
      border-radius: 4px;
    }
  }

  $outer-padding: 8px;
  $inner-padding: 8px;
  $favicon-width: 26px; /* width + margin */
  $favicon-padding: 2px;

  .feed-link {
    display: flex;
    padding: 0 $outer-padding;
    &.selected .link-inner {
      color: white !important;
    }
  }
  .source-section {
    padding-left: $outer-padding + $inner-padding + $favicon-padding;
    padding-right: $outer-padding + $inner-padding;
  }
  .link-inner {
    padding-left: $inner-padding + $favicon-width - $favicon-padding;
    padding-right: $inner-padding;
  }
  .tag-link .link-inner {
    padding-left: $inner-padding + $favicon-width;
  }
  .collection-source .link-inner {
    padding-left: $inner-padding;
  }
  .feed-action-expand {
    padding-left: $outer-padding + $inner-padding !important;
    width: $favicon-width + $outer-padding + $inner-padding;
  }
}

.favicon-wrap {
  height: 20px;
  width: 20px;
  background-color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1);
  border-radius: 2px;
  flex: 0 0 auto;
  .favicon,
  img {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 16px 16px;
    height: 16px;
    width: 16px;
    display: block;
  }
  &.twitter-profile-image {
    border-radius: 20px;
    img {
      border-radius: 16px;
    }
  }
  &.twitter-profile-image.icon-format-square {
      border-radius: 2px;
      img {
        border-radius: 2px;
      }
  }
  .entries & {
    @include background-color(
      (
        day: transparent,
        dusk: white,
        sunset: transparent,
        midnight: white,
      )
    );
    $shadow: (
      day: none,
      dusk: 0px 1px 1px 0px rgba(0, 0, 0, 0.1),
      sunset: none,
      midnight: none,
    );
    @include box-shadow-irregular($shadow);
  }
}

.host-feedbin-resolv-app,
.host-feedbin-com,
.host-feedbin-me {
  &.favicon {
    background-image: image-url("logo.svg") !important;
  }
}
.host-twitter-com {
  &.favicon {
    background-image: image-url("replacement-favicon-twitter.svg") !important;
  }
}

.theme-day {
  .favicon-wrap {
    box-shadow: none;
  }
}

.theme-auto {
  @media (prefers-color-scheme: light) {
    .favicon-wrap {
      box-shadow: none;
    }
  }
}

li.selected > a .favicon-wrap,
.theme-day li.selected > a .favicon-wrap {
  @include background-color(white);
  @include box-shadow(rgba(0, 0, 0, 0.1), 0px 1px 1px 0px);
  .feeds &.collection-favicon {
    background: transparent;
    box-shadow: none;
  }
}

.favicon-default {
  height: 16px;
  width: 16px;
  overflow: hidden;
  display: block;
  border-radius: 2px;
  .favicon-inner {
    height: 32px;
    width: 32px;
    content: "";
    display: block;
    background-repeat: no-repeat;
  }
  &.favicon-mask .favicon-inner {
    background-image: image-url("favicon-mask.svg");
  }
  &.favicon-mask-alt .favicon-inner {
    background-image: image-url("favicon-mask-alt.svg");
  }
}

.collection-favicon {
  background-size: 16px 16px;
  background: transparent !important;
  box-shadow: none;
  svg {
    @include fill($color-contrast-500);
    li.selected > .feed-link .link-inner &,
    li.selected.feed-link .link-inner &,
    .entries li.selected & {
      fill: white;
    }
  }
  .entries & {
    box-shadow: none !important;
  }
}

.favicon-all {
  width: 12px !important;
  height: 10px !important;
}

.favicon-unread {
  width: 14px !important;
  height: 13px !important;
}

.favicon-unread-active {
  width: 14px !important;
  height: 13px !important;
}

.favicon-newsletter {
  width: 16px !important;
  height: 12px !important;
}

.back-button {
  display: block;
  appearance: none;
  border: none;
  height: 16px;
  width: 11px;
  padding: 0;
  background-color: transparent;
  align-items: center;
  justify-content: center;
  display: flex;
  svg * {
    @include fill($color-icons);
  }
  .full-screen & {
    display: none !important;
  }
}

.entries-header {
  position: absolute;
  top: 0;
  bottom: 44px;
  left: 0;
  right: 0;
  @include background-color($color-base);
  align-items: center;
  justify-content: space-between;
  @include color($color-contrast-400);
  display: none;
  margin: 0;
  @include border-bottom($color-borders);
  height: $toolbar-height;
  text-align: center;
  overflow: hidden;
  flex-shrink: 0;
  z-index: 5;
  transition: transform 0.2s ease-out;
  will-change: transform;
  .one-up & {
    @include border-bottom($color-borders-alt, $root: true);
  }
  .feed-title-wrap {
    @include color($color-contrast-700);
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .back-button {
    display: flex;
    position: static;
    height: 100%;
    width: 40px;
    flex-shrink: 0;
  }
  .search-button {
    background-color: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    visibility: visible;
    appearance: none;
    border: none;
    padding: 0;
    height: 100%;
    width: 40px;
    flex-shrink: 0;
    svg {
      @include fill($color-icons);
    }
  }
  .favicon-wrap {
    position: absolute;
    left: 0;
    top: -2px;
  }
  .hide-entries-column-toolbar & {
    transform: translateY(-100%);
  }
  .one-up.native.hide-entries-column-toolbar & {
    transform: translateY(calc(-100% + (1px)));
  }
}

.entries {
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;

  transition: transform 0.15s ease-in;
  @include background-color($color-base);
  flex: 1;
  z-index: 4;
  .has-offscreen-panels &.loading {
    .entries-target {
      display: none;
    }
    background-repeat: no-repeat;
    background-position: 50% 25%;
    @include background-image($image-spinners, true);
    @include background-color($color-base, true);
  }
  .search.show-search-options & {
    transform: translateY($search-height * 2);
    padding-bottom: $search-height * 2;
  }
  .entries-target {
    margin: 0;
    padding: 0 0 17px 0;
    list-style: none;
    .one-up &, .two-up & {
      padding-top: $toolbar-height;
      padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }
  }
}

@mixin body-size {
  @include font-size(14);
  .has-offscreen-panels.touch & {
    @include font-size(15);
  }
}

.entry-summary {
  margin: 0;
  position: relative;
  .summary-menu {
    display: none;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 40px;
    height: 38px;
    .summary-menu-button {
      padding: 0;
      border: 0;
      background-color: transparent;
      appearance: none;
      width: 100%;
      height: 100%;
      svg {
        @include fill(white);
        position: absolute;
        left: 8px;
        bottom: 14px;
      }
    }
    .entries-display-inline & {
      height: auto;
      top: 0;
      .summary-menu-button {
        top: 2px;
        right: 2px;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        svg {
          position: static;
        }
      }
    }
    .icon-direction.flip {
      transform: scaleY(-1);
    }
    .dropdown-wrap .dropdown-content {
      top: -34px;
      width: auto;
    }
  }
  .entries-column.selected &.selected .summary-menu {
    display: block;
  }
}

.entry-summary-link {
  $margin: 4px;
  display: block;
  line-height: 1.3;
  @include font-size(14);
  @include size-in-rems(padding, 8 8px 0 8px);
  @include color($color-contrast-600);
  text-decoration: none !important;
  .entry-summary-inner {
    @include size-in-rems(padding, 8 8px 8 8px);
  }
  .title-wrap {
    display: flex;
    margin-bottom: $margin;
    .favicon-wrap {
      margin-right: base-units(1);
      flex: 0 0 auto;
    }
    .title {
      @include font-size(15);
      font-weight: bold;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      overflow: hidden;
      .one-up & {
        @include font-size(16);
      }
      .no-title & {
        display: block;
        @include ellipse;
        .title-inner span {
          font-weight: normal;
        }
      }
    }
  }
  &:hover {
    @include color($color-contrast-600);
    text-decoration: none;
  }
  .summary-content {
    display: block;
    margin-left: 28px;
  }
  .feed-title {
    @include ellipse;
    margin: $margin 0 $margin 0;
  }
  .summary {
    margin: $margin 0 $margin 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    .no-title & {
      display: block;
      overflow: visible;
      white-space: normal;
    }
    .inline-title {
      display: none;
    }
  }
  .quoted-tweet,
  .link-preview {
    margin: 8px 0 8px 0;
    padding: 8px;
    border-radius: 8px;
    overflow: hidden;
    @include border($color-borders);
  }
  .entry-image {
    margin: 8px 0 8px 0;
    display: block;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    span {
      padding-top: 56.088560885%;
      display: block;
      @include background-color($color-contrast-100);
    }
    img {
      max-width: 100%;
      height: auto;
      display: block;
    }
    .entry-summary.media & {
      display: none;
    }
  }
  .link-preview {
    padding: 0;
    overflow: hidden;
    .entry-image {
      margin: 0;
      border-radius: 8px 8px 0 0;
    }
    img {
      width: 100%;
    }
  }
  .summary-status {
    display: flex;
    margin: base-units(1) 0 0 0;
    align-items: center;
    svg {
      margin: 0 8px;
    }
    .icon-star-on {
      visibility: hidden;
      margin: 0 2px 0 auto;
      fill: $color-accent-orange-600;
      height: 12px !important;
      width: 12px !important;
      .entry-summary.starred & {
        visibility: visible;
      }
      .entries-column .entry-summary.selected.starred & {
        fill: #fff;
      }
      .entries-column.selected .entry-summary.selected.starred & {
        visibility: hidden;
      }
    }
    .icon-retweet {
      display: none;
      .entry-summary.re-tweet & {
        display: block;
      }
    }
    .icon-media {
      display: none;
      .entry-summary.media & {
        display: block;
      }
    }
  }
  .summary-inner,
  .summary {
    overflow-wrap: break-word;
  }
  .summary-status-inline,
  .feed-title-inline {
    display: none;
  }
  .link-preview-content {
    padding: 8px;
  }
  .light {
    @include color($color-contrast-500);
  }
  .extra-light {
    @include color($color-contrast-400);
  }
  svg.light {
    @include fill($color-contrast-500);
  }
}

@mixin title-font {
  @include font-size(14);
  font-weight: bold;
  @include color($color-contrast-600, $root: true);
}

$feed-title-width: 115px;
.entries-display-inline .entry-summary-inner {
  display: flex;
  @include ellipse;
  align-items: center;
  padding: 8px 8px;
}
.entries-display-inline .entry-summary-link {
  @include size-in-rems(padding, 4 4px 0 4px)
  .title-wrap .favicon-wrap,
  .quoted-tweet,
  .link-preview,
  .entry-image,
  .summary-content .feed-title,
  .entry-image-wrap {
    display: none;
  }
  .title-wrap,
  .summary,
  .summary-status,
  .feed-title {
    margin-top: 0;
    margin-bottom: 0;
  }
  .feed-title-inline {
    display: block;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    width: $feed-title-width;
    @include ellipse;
    margin-right: base-units(1);
    .favicon-wrap {
      margin-right: base-units(1);
    }
  }
  .title-wrap {
    display: none;
  }
  .summary-content {
    display: block;
    margin: 0 base-units(2) 0 0;
    @include ellipse;
    .summary-status {
      display: none;
    }
  }
  .summary {
    @include ellipse;
    .inline-title {
      @include ellipse;
      display: inline;
      margin: 0 base-units(1) 0 0;
      @include title-font;
    }
  }
  .summary-status {
    display: flex;
    margin-left: auto;
    flex: 0 0 auto;
    flex-direction: row-reverse;
    margin-right: 4px;
    .icon-star-on {
      order: -1;
      margin-left: 16px;
    }
  }
}

.entries-display-inline .no-title .entry-summary-link {
  .feed-title-inline {
    width: auto;
    margin-right: 0;
  }
  .title-wrap {
    display: flex;
    flex: 0 0 auto;
    @include ellipse;
    width: $feed-title-width - 28;
    margin-right: base-units(1);
  }
  .title {
    @include font-size(14);
    font-weight: normal;
  }
  .summary {
    @include title-font;
  }
}

.entry-summary.selected .entry-summary-inner {
  border-radius: 4px;
  @include color(white);
  @include background-color($color-selected-off);
  .light,
  .extra-light {
    @include color($color-selected-muted);
  }
  svg.light {
    @include fill($color-selected-muted);
  }
  .quoted-tweet,
  .link-preview {
    @include border-color($color-selected-muted-light);
  }
  .quoted-tweet strong {
    @include color(white);
  }
  .entries-column.selected & {
    @include background-color($color-selected);
  }
  .inline-title {
    @include color(white);
  }
}
.entry-summary.read:not(.selected):not(.always-unread) .entry-summary-link {
  @include color($color-contrast-400);
  .inline-title {
    @include color($color-contrast-400);
  }
  .light,
  .extra-light {
    @include color($color-contrast-400);
  }
  svg.light {
    @include fill($color-contrast-400);
  }
}

.entries-display-inline .entry-summary.selected.no-title .entry-summary-link {
  .summary {
    @include color(white);
  }
}

.entries-display-inline .entry-summary.read.no-title:not(.selected):not(.always-unread) .entry-summary-link {
  .summary {
    @include color($color-contrast-400);
  }
}

.entries-feed-0 .entries {
  .feed-title {
    display: none;
  }
  .feed-title-inline {
    width: 20px;
  }
}

.entries-feed-0.entries-display-inline .entries {
  .no-title .title-wrap {
    display: none;
  }
}

.entries-body-0 .entries {
  .summary-inner {
    display: none;
  }
}

.entries-body-0:not(.entries-display-inline) .entries {
  .no-title {
    .summary {
      display: none;
    }
  }
}

.entries-image-0 .entries,
.entries-display-inline .entries {
  .entry-image,
  .link-preview {
    display: none;
  }
}

.entry-toolbar {
  display: flex;
  z-index: 3;
  width: 100%;
  height: $toolbar-height;
  @include background-color($color-base);
  @include border-bottom($color-borders);
  transition: transform 0.2s ease;
  transform: translate3d(0, 0, 0);
  &.animate {
    transform: translate3d(0, 0, 0);
  }
  .one-up & {
    @include border-bottom($color-borders-alt, $root: true);
  }
  .site-info {
    flex: 1 1 auto;
    display: flex;
    align-items: stretch;
    min-width: 0;
  }
  .back-button {
    display: none;
    height: 100%;
    width: 40px;
    flex-shrink: 0;
  }
  .button-full-screen {
    display: none;
    @include border-right($color-borders);
    justify-content: center;
    align-items: center;
    .full-screen & {
      display: flex;
    }
    .native & {
      border: none;
    }
  }
  .feed-button {
    margin-left: 13px;
    display: flex;
    align-items: center;
    appearance: none;
    border: none;
    background: none;
    padding: 0;
    overflow: hidden;
    &.link {
      cursor: pointer;
    }
    &:hover {
      text-decoration: none;
    }
    .favicon-wrap {
      position: static;
      background-color: white;
      @include background-color(
        (
          day: transparent,
          dusk: white,
          sunset: transparent,
          midnight: white,
        )
      );
      $shadow: (
        day: none,
        dusk: 0px 1px 1px 0px rgba(0, 0, 0, 0.1),
        sunset: none,
        midnight: none,
      );
      @include box-shadow-irregular($shadow);
    }
    .entry-feed-title {
      line-height: 20px;
      margin-left: 6px;
      @include font-size(14);
      @include color($color-contrast-600);
      text-decoration: none;
      user-select: none;
      appearance: none !important;
      border: none;
      background: none;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }
}

.entry-basement {
  position: absolute;
  top: $toolbar-height;
  left: 0;
  width: 100%;
  @include border-bottom($color-borders);
  display: none;
  &.open {
    display: block;
  }
  &.foreground {
    z-index: 2;
  }
}

.basement-panel {
  max-height: calc(100vh - var(--toolbar-height));
  overflow-y: scroll;
  @include background-color($color-base);
}

.format-wrap {
  height: 100vh;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
}

.source-menu-container {
  width: 180px;
}

.format-palette {
  width: 304px;
  padding: 8px 0 32px 0;
  z-index: 11;
  @media (max-width: $small-breakpoint) {
    padding: 0 0 24px 0;
  }
  @include background-color($color-base-alt);
  @include border($color-borders);
  border-radius: 8px;
  box-shadow: $box-shadow-dropdown;
  input[type="radio"] {
    @extend .visually-hidden;
  }

  h3 {
    @include font-size(14);
    font-weight: bold;
    margin: 24px 16px 16px 16px;
  }
  .control-group {
    margin: 0;
  }
  .control {
    margin: 0 16px;
  }
  $size: 34px;
  .theme-options {
    margin: 0 16px;
    display: flex;
    gap: 16px;
    .swatch-wrap {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: $size;
      @include font-size(12);
      overflow: visible;
      cursor: pointer;
      .swatch {
        height: $size;
        width: $size;
        border-radius: 8px;
        @include border($color-contrast-400);
        &:after {
          display: block;
          content: "";
          width: $size + 6px;
          height: $size + 6px;
          border: 2px solid transparent;
          border-radius: 10px;
          position: relative;
          top: -4px;
          left: -4px;
          pointer-events: none;
        }
      }
    }
  }
  :checked + .swatch-wrap {
    .swatch:after {
      border-color: $color-accent-blue-400;
    }
  }
  label[for="user_theme_day"] .swatch {
    background-color: $theme-color-base;
  }
  label[for="user_theme_sunset"] .swatch {
    background-color: $theme-color-sunset-base;
  }
  label[for="user_theme_dusk"] .swatch {
    background-color: $theme-color-dusk-base;
  }
  label[for="user_theme_midnight"] .swatch {
    background-color: $theme-color-midnight-base;
    .theme-midnight &.swatch:after {
      border-color: $color-accent-blue-400;
    }
  }
  label[for="user_theme_auto"] .swatch {
    position: relative;
    background-color: $theme-color-base;
    &:before {
      $size: $size - 2;
      right: 0;
      top: 0;
      position: absolute;
      border-top-right-radius: 7px;
      border-bottom-right-radius: 7px;
      width: 16px;
      height: 32px;
      background-color: $theme-color-dusk-base;
      content: "";
      display: block;
    }
  }
  .font-options {
    display: flex;
    flex-wrap: wrap;
    .option {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      padding: 0;
      flex: 1 1 50%;
      font-size: 16px;
      @include color($color-contrast-600);
      svg {
        @include fill($color-contrast-600);
      }
      .font-serif-2 {
        position: relative;
        bottom: -3px;
      }
      .font-sans-serif-1 {
        position: relative;
        bottom: -2px;
      }
    }
    .radio-button {
      position: relative;
      margin-right: 8px;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;
    }
    .option svg {
      margin-left: 1px;
    }
    label[for="user_font_default"] {
      font-family: ui-sans-serif, system-ui, $font-stack;
    }
    label[for="user_font_sans-serif-1"] {
      /* whitney */
      font-family: "Sans Serif 1";
    }
    label[for="user_font_sans-serif-2"] {
      /* ideal sans */
      font-family: "Sans Serif 2";
    }
    label[for="user_font_serif-1"] {
      /* sentinel */
      font-family: "Serif 1";
    }
    label[for="user_font_serif-2"] {
      /* mercury */
      font-family: "Serif 2";
    }
    label[for="user_font_serif-3"] {
      font-family: ui-serif, Georgia, serif;
    }
  }
  .font-size {
    display: flex;
    @include border($color-borders);
    border-radius: 8px;
    button {
      padding: 11px;
      align-items: center;
      justify-content: center;
      flex: 1;
      @include color($color-contrast-600);
      &:active {
        @include color($color-contrast-700);
      }
      &:first-child {
        @include border-right($color-borders);
      }
    }
  }
  .control-group li > label {
    @include font-size(14);
  }
}
.fonts {
  padding: 100px;
}
.fonts .content-styles {
  font-size: 72px !important;
  color: black !important;
}

.entry-column {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: 80px 80px;
  overflow: hidden;
  .bottom-toolbar {
    display: none;
  }
  &.has-content {
    background: none;
  }
  .full-screen.touch & {
    .bottom-toolbar {
      display: flex;
    }
  }
  .one-up & {
    .bottom-toolbar {
      display: flex;
    }
  }
}

.entry-meta {
  height: $toolbar-height;
  flex-shrink: 0;
  z-index: 2;
  @include background-color($color-base);
  display: none;
  position: absolute;
  top: 0;
  bottom: $toolbar-height;
  left: 0;
  right: 0;
  align-content: stretch;
  transition: transform 0.2s ease-out;
  will-change: transform;
  .toolbar-wrap {
    flex: 1;
    min-width: 0;
  }
  .has-content & {
    display: flex;
  }
  .hide-entry-column-toolbar & {
    transform: translateY(-100%);
  }
  .one-up.native.hide-entry-column-toolbar & {
    transform: translateY(calc(-100% + (1px)));
  }
}

.no-transition {
   transition: none !important;
}


.entry-content-wrap {
  z-index: 0;
  flex: 1;
  position: relative;
  .one-up & {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
  }
}

.entry-content {
  @include background-color($color-base);
  display: block;
  height: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
  transition: transform 0.2s ease, opacity 0.15s ease, top 0.2s ease;
  opacity: 1;
  -webkit-overflow-scrolling: touch;
  z-index: 2;
  &.slide-up {
    transform: translate3d(0, -100vh, 0);
    opacity: 0;
  }
  &.slide-down {
    transform: translate3d(0, 100vh, 0);
    opacity: 0;
  }
  .one-up & {
    padding-bottom: calc(env(safe-area-inset-bottom) + var(--toolbar-height));
  }
}

.next-entry,
.previous-entry {
  height: 100vh;
  position: absolute;
  left: 0;
  right: 0;
  will-change: transform;
  transition: transform 0.2s ease;
  transform: translate3d(0, 0, 0);
  opacity: 1;
  z-index: 1;
}

.load-next-entry {
  transform: translate3d(0, 100vh, 0);
  &.previous-entry {
    transform: translate3d(0, -100vh, 0);
  }
}

.entry-inner {
  min-height: 100%;
  transition: max-width 0.3s linear;

}

.feeds-target,
.entries-target,
.entry-inner {
  .touch:not(.scroll-bars) & {
    min-height: 101%;
  }
}

.entry-inner,
.next-entry-preview {
  padding: 40px 20px 40px 20px;
  padding-top: 40px + $toolbar-height;
  margin: 0 auto;
  max-width: 660px;
  dialog & {
    padding: 0;
  }
}

.next-entry-preview {
  display: block;
  appearance: none !important;
  @include background($color-selected);
  border: none;
  padding: 0;
  text-align: left;
  width: 100%;
  margin: 0 auto;
  @include background-color($color-base);
  &.no-content {
    display: none;
  }
  &:hover {
    text-decoration: none;
  }
  .full-screen.touch & {
    display: none;
  }
  @media (max-width: $small-breakpoint) {
    display: none;
  }
}

.next-entry-preview-inner {
  padding: 30px 0 43px 0;
  margin: 0 15px 20px 15px;
  display: block;
  position: relative;
  @include border-top($color-borders);
  .next-icon {
    content: "";
    display: block;
    height: 18px;
    width: 11px;
    transform: rotate(270deg);
    position: absolute;
    margin-left: auto;
    margin-right: auto;
    left: 0;
    right: 0;
    bottom: 0;
    svg * {
      @include fill($color-icons);
    }
  }
  .next-entry-feed,
  .next-entry-title {
    display: block;
    @include font-size(14);
    @include color($color-contrast-500);
    margin-bottom: 5px;
    font-family: $font-stack !important;
    font-weight: 400 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .next-entry-title {
    @include color($color-contrast-700);
  }
}

.entry-bottom-toolbar {
  display: flex;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transition: transform 0.2s ease-out;
  will-change: transform;
  .navigation-button {
    @include color($color-contrast-700);
    padding: 11px 0;
    text-decoration: none;
    appearance: none;
    display: block;
    border: none;
    background: none;
    margin: 0;
    cursor: pointer;
    height: 100%;
    width: 100%;
    display: block;
    &[disabled] {
      cursor: default;
      @include color($color-contrast-300);
    }
    &:hover {
      text-decoration: none;
    }
    .toolbar-button-inner {
      height: 23px;
      display: block;
    }
    &.button-previous {
      text-align: right;
      padding-right: 30px;
    }
    &.button-next {
      text-align: left;
      padding-left: 30px;
    }
    .icon-next,
    .icon-previous {
      display: inline-block;
      svg * {
        @include fill($color-icons);
      }
    }
    &.button-next,
    &.button-previous {
      -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
      &:active:not([disabled]) {
        svg * {
          @include fill($color-selected);
        }
      }
    }
    &[disabled] {
      svg * {
        @include fill($color-contrast-300);
      }
    }
  }
  .icon-next {
    transform: rotate(270deg);
  }
  .icon-previous {
    transform: rotate(90deg);
  }
  .hide-entry-column-toolbar & {
    transform: translateY(100%);
  }
}

.fluid .entry-inner,
.fluid-1 .entry-inner {
  max-width: 100%;
  padding-left: 8%;
  padding-right: 8%;
}

.entry-buttons {
  display: flex;
  flex: 0 0 auto;
  z-index: 1;
  align-items: stretch;
  justify-content: flex-end;
  margin-left: 10px;
  height: 100%;
  form {
    margin: 0;
  }
  .button-toggle-read {
    .icon-read {
      display: none;
    }
    .icon-unread * {
      fill: $color-accent-blue-600;
    }
    .read & {
      .icon-read {
        display: block;
      }
      .icon-unread {
        display: none;
      }
    }
  }
  .button-toggle-starred {
    .icon-star-on {
      display: none;
    }
    .starred & {
      .icon-star-on {
        display: block;
        * {
          fill: $color-accent-orange-600;
        }
      }
      .icon-star-off {
        display: none;
      }
    }
  }
  .button-toggle-content {
    svg {
      transform: scaleX(1);
    }
    .icon-full-content-on {
      display: none;
    }
    width: 46px;
    &.loading {
      @keyframes flip {
        50% {
          transform: scaleX(-1);
        }
      }
      svg {
        animation: flip 1s step-start 0s infinite;
      }
    }
  }
  .button-toggle-share-menu, .mute-filter-button {
    position: relative;
    @include arrow(
      $x-position:16px,
      $y-position: 43px,
      $arrow-color: $color-base,
      $shadow-color: $color-arrow-shadow,
      $origin: right
    ) {
      z-index: 10;
      visibility: hidden;
    }
    .dropdown-content {
      margin-left: -108px;
      left: 50%;
      top: 35px;
    }
  }
}

.button-toggle-content.active {
  .icon-full-content-on {
    display: block;

  }
  .icon-full-content-on * {
    fill: $color-accent-green-600 !important;
  }
  .icon-full-content {
    display: none;
  }
}

.has-entry-basement-share .button-toggle-share-menu {
  &:after,
  &:before {
    visibility: visible !important;
  }
}

.has-entry-basement-mute .mute-filter-button {
  &:after,
  &:before {
    visibility: visible !important;
  }
}

.account-toolbar {
  margin: 0;
  @include border-bottom(transparent);
  @include background-color($color-base);
  height: $toolbar-height;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
  .entry-column.has-content & {
    display: none;
  }
}

.entry-button-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: stretch;
}

.entry-button {
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  appearance: none;
  border: none;
  background: none;
  width: 45px;
  height: 100%;
  padding: 0;
  position: relative;
  svg {
    pointer-events: none;
  }
  svg * {
    @include fill($color-icons);
  }
}

.settings-menu-button {
  height: 36px;
  width: 36px;
  position: absolute;
  top: 39px;
  right: 8px;
  display: none;
  align-items: center;
  justify-content: flex-end;
  svg {
    @include fill($color-icons);
  }
  @media (max-width: $small-breakpoint) {
    display: flex;
  }
}

.dropdown-content {
  display: none;
  width: 232px;
  border-radius: 8px;
  @include background-color($color-base-alt);
  @include border($color-borders);
  box-shadow: $box-shadow-dropdown;
  position: absolute;
  z-index: 10000;

  ul {
    margin: 0;
    padding: base-units(0.5) 0;
    list-style: none;
    li {
      margin: 0;
      padding: 0 base-units(0.5);
      > a,
      > span,
      > button {
        position: relative;
        text-decoration: none;
        display: flex;
        @include font-size(14);
        @include color($color-contrast-700);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
        padding: base-units(1);
        font-family: $font-stack;
        font-weight: 400 !important;
        text-align: left;
        cursor: pointer;
        border-radius: 4px;
        .favicon-unread-active {
          display: none;
        }
        .menu-text {
          display: flex;
          flex-direction: column;
          line-height: 1;
          .title {
            @include font-size(14);
          }
          .subtitle {
            margin-top: 0.25rem;
            @include font-size(12);
            @include color($color-contrast-500);
          }
        }
        .icon-wrap {
          width: 16px;
          display: flex;
          align-items: flex-start;
          justify-content: center;
          flex-shrink: 0;
          margin-right: base-units(1);
          svg {
            @include fill($color-contrast-500);
            max-width: 16px;
            max-height: 16px;
          }
        }
        &:hover {
          @include background-color(
            (
              debug: dropdown-hover,
              day: $theme-color-100,
              sunset: $theme-color-sunset-100,
              dusk: $theme-color-dusk-200,
              midnight: $theme-color-midnight-200,
            ),
            $extra: !important
          );
          text-decoration: none;
        }
        &.selected {
          @include background-color($color-selected, $extra: !important);
          color: white !important;
          &.with-icon {
            svg {
              @include fill(white);
            }
          }
        }
        &.no-border {
          border: none;
        }
        &.with-icon {
          display: flex;
          align-items: center;
          span {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            flex: 1;
            margin-left: 8px;
          }
          .icon-check {
            margin-left: auto;
            @include fill($color-contrast-700);
            visibility: hidden;
          }
        }
      }
      .view_unread &.view-mode-unread,
      .view_starred &.view-mode-starred,
      .view_all &.view-mode-all {
        .icon-check {
          visibility: visible;
        }
      }
    }
  }
  ul.segmented {
    position: relative;
    margin-bottom: 7px;
    &:before {
      width: 180px;
      height: 1px;
      @include background-color($color-contrast-200);
      top: -4px;
      left: 10px;
      content: "";
      display: block;
      position: absolute;
    }
    &.no-border {
      &:before {
        display: none;
      }
    }
    &.no-margin {
      margin-bottom: 0;
    }
    a,
    span {
      border-radius: 0 !important;
    }
    &:last-child {
      li:last-child a,
      li:last-child span {
        border-bottom-right-radius: 4px !important;
        border-bottom-left-radius: 4px !important;
      }
    }
    &:first-child {
      li:first-child a,
      li:first-child span {
        border-top-left-radius: 4px !important;
        border-top-right-radius: 4px !important;
      }
    }
  }
  .share-option a {
    display: flex;
    align-items: baseline;
  }
  .share-keyboard {
    @include font-size(12);
    margin-left: auto;
    font-style: normal;
    margin-top: 2px;
    @include color($color-contrast-500);
  }
  .share-option a:hover .share-keyboard {
    @include color($color-contrast-700);
  }
}

.dropdown-wrap {
  position: relative;
  &.open {
    .dropdown-content {
      display: block;
    }
  }
  &.dropdown-right {
    .dropdown-content {
      right: 0;
    }
  }
  &.dropdown-left {
    .dropdown-content {
      left: 0 !important;
    }
  }
}

.entry-header {
  padding: 0;
  margin-bottom: 1.1em;
  position: relative;
  a {
    display: block;
    text-decoration: none;
    @include color($color-contrast-700);
  }
  h1 {
    font-size: 2em;
    line-height: 1.1;
    @include color($color-contrast-700);
    margin: 0 0 0.2em 0;
    padding: 0;
    font-weight: bold;
    text-rendering: optimizeLegibility;
    word-wrap: break-word;
  }
  .feed-title {
    display: none;
  }
}
.post-meta {
  @include font-size(16);
  @include color($color-contrast-500);
  line-height: 1.2;
  margin-bottom: 0.2em;
  a {
    @include color($color-contrast-500);
  }
  time {
    display: inline;
  }
}

.share-form {
  @include background-color($color-contrast-100);
  padding: 24px 16px;
  .share-form-inner {
    max-width: 620px;
    margin: 0 auto;
  }
  h2 {
    @include font-size(16);
    @include color($color-contrast-700);
    font-weight: bold;
    margin: 0 0 0 0;
  }
  .sharing-header {
    display: flex;
    align-items: center;
    :last-child {
      margin-left: auto;
    }
    margin-bottom: 16px;
    svg {
      @include fill($color-icons);
    }
  }
  .field-cluster {
    margin-bottom: 15px;
    input,
    textarea {
      width: 100%;
      max-width: 100%;
      position: relative;
      @include font-size(16);
    }
    textarea {
      resize: none;
    }
  }
  .sharing-controls {
    margin-bottom: 16px;
    .checkbox {
      margin-bottom: 8px;
    }
  }
}

@keyframes slidein {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.entry-final-content a {
  position: relative;
}

.link-actions {
  display: inline-flex;
  content: "";
  height: 16px;
  width: 24px;
  border-radius: 8px;
  cursor: pointer;
  background-size: 80% 80%;
  opacity: 1;
  transition: opacity 0.15s ease;
  @include background-color($color-contrast-500);
  align-items: center;
  justify-content: center;

  &:not([x-placement]) {
    display: none !important;
  }
  > svg {
    @include fill($color-base);
    pointer-events: none;
  }
  .dropdown-content {
    top: 15px;
  }
  ul {
    margin: 0 !important;
  }
  &.hide {
    display: inline-block;
    opacity: 0;
  }
}

.setting-view-link-0 {
  .view-link-app {
    display: flex;
  }
  .view-link-tab {
    display: none;
  }
}
.setting-view-link-1 {
  .view-link-app {
    display: none;
  }
  .view-link-tab {
    display: flex;
  }
}

.media-container {
  margin: 1.1em 0 1.1em 0;
  video {
    width: 100% !important;
    height: auto !important;
    background-color: black;
  }
}

.content-styles {
  font-style: normal;
  font-size: 1.15em;
  line-height: 1.6;
  @include color($color-contrast-600);
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
  strong {
    font-weight: 700;
    font-style: normal;
  }

  em {
    font-style: italic;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-weight: bold;
    font-style: normal;
    margin: 0.5em 0 0.5em 0;
    text-rendering: optimizeLegibility;
    @include color($color-contrast-700);
  }

  h1,
  h2 {
    font-size: 1.3em;
    line-height: 1.2;
  }

  h3,
  h4,
  h5,
  h6 {
    font-size: 1.1em;
    line-height: 1.3;
  }

  p,
  ul,
  ol,
  figure,
  blockquote,
  .media-container,
  .micropost-wrap,
  .fluid-width-video-wrapper,
  .entry-callout {
    margin: 1.1em 0 1.1em 0;
  }

  .micropost-wrap {
    p,
    ul,
    ol,
    figure,
    blockquote {
      margin-top: 0;
    }
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    & + p,
    & + ul,
    & + ol,
    & + figure,
    & + blockquote,
    & + .media-container {
      margin-top: 0;
    }
  }

  blockquote[align="center"] {
    text-align: left;
  }

  dd {
    margin-left: 0;
  }

  ol, ul {
    padding-left: 40px !important;
  }

  li {
    list-style: disc !important;
    margin: 0 0 0.2em 0  !important;
  }

  ol li {
    list-style: decimal !important;
  }

  pre {
    font-family: inherit;
  }

  pre code {
    @include background-color($color-contrast-100);
    @include color($color-contrast-600);
    padding: base-units(2);
    @include border($color-contrast-200);
    display: block;
    overflow-x: auto;
    white-space: pre;
    word-wrap: normal;
    font-size: 80%;
    border-radius: 4px;
  }

  tt,
  code,
  kbd,
  samp {
    font-family: ui-monospace, "SF Mono", Consolas, Monaco, monospace;
    overflow-x: scroll;
  }

  blockquote {
    padding: 0 0 0 15px;
    border-left: 4px solid transparent;
    @include border-color(
      map-merge(
        $color-borders,
        (
          dusk: $theme-color-dusk-200,
        )
      )
    );
  }

  blockquote p:last-child {
    margin-bottom: 0;
  }

  blockquote.twitter-tweet,
  blockquote.instagram-media {
    display: none;
  }

  figcaption,
  caption {
    font-size: 80%;
    @include color($color-contrast-500);
    font-style: italic;
    line-height: 1.3;
  }

  audio {
    display: block;
    width: 100%;
    background-color: black;
    max-height: 100%;
  }

  th {
    text-align: left;
  }

  .text {
    white-space: pre-wrap;
  }

  .download-link {
    @include font-size(12);
    font-family: $font-stack;
    font-weight: 400 !important;
  }

  .inline-spinner {
    padding-left: 23px;
    background-position: 0 50%;
    background-size: 16px 16px;
    background-repeat: no-repeat;
    @include background-image($image-spinners);
  }

  .diff-wrap {
    padding-left: 36px !important;
    .ignore-updates {
      @include color($color-contrast-400);
      text-decoration: none;
      font-weight: bold;
      float: right;
      @include font-size(16);
      line-height: 1;
    }
    .diff-wrap-text a,
    .view-latest-link {
      @include color(
        (
          day: map-get($color-selected, day),
          dusk: white,
          sunset: map-get($color-selected, sunset),
          midnight: white,
        )
      );
      &:hover {
        text-decoration: underline;
        cursor: pointer;
        @include color(
          (
            day: $color-accent-blue-600,
            dusk: $theme-color-dusk-500,
            sunset: $color-accent-blue-600,
            midnight: $theme-color-midnight-500,
          )
        );
      }
      .theme-dusk &,
      .theme-midnight & {
        text-decoration: underline;
      }
    }
  }

  .original-content-info {
    line-height: 1.4;
    display: flex;
    align-items: stretch;
    .favicon-wrap {
      margin-right: 8px;
      position: static;
      background-color: white;
      flex: 0 0 auto;
    }
    .meta-wrap {
      flex: 1 1 auto;
      margin-right: 8px;
    }
    .icon-wrap {
      margin-left: auto;
      display: flex;
      align-items: center;
      justify-content: center;
      flex: 0 0 auto;
      .icon-full-content {
        @include fill($color-icons);
      }
    }
    .original-title,
    .original-title a {
      @include font-size(14);
      font-weight: bold;
      @include color($color-contrast-700);
      margin-bottom: 0.3em;
      &:hover {
        text-decoration: underline;
      }
    }
    .original-meta {
      @include font-size(12);
      @include color($color-contrast-500);
    }
  }

  .content-error {
    display: flex;
    align-items: center;
    svg {
      margin-right: base-units(1);
    }
  }

  .readability-loading {
    padding-left: 36px !important;
    &:after {
      position: absolute;
      display: block;
      content: "";
      background-repeat: no-repeat;
      background-size: 16px 16px;
      background-position: 11px 11px;
      width: 43px;
      left: 0px;
      top: 0;
      bottom: 0;
      @include background-image($image-spinners);
    }
  }

  &.entry-type-default {
    table {
      @extend .table;
      @extend .table-bordered;
      img {
        max-width: 100%;
        display: inline;
      }
    }
  }

  &.entry-type-newsletter {
    @media (max-width: 600px) {
      img {
        max-width: 380px !important;
      }
    }
    @media (max-width: 400px) {
      img {
        max-width: 345px !important;
      }
    }
    @media (max-width: 320px) {
      img {
        max-width: 290px !important;
      }
    }
  }
  .newsletter-content {
    @include color($theme-color-600);
  }
  .kg-bookmark-container {
    display: flex;
    @include border($color-borders);
    border-radius: 8px;
  }
   a.kg-bookmark-container {
    @include color($color-contrast-600);
    text-decoration: none;
  }
  .kg-bookmark-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    flex-basis: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 16px;
    overflow: hidden;
  }
  .kg-bookmark-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    flex-basis: 100%;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 16px;
    overflow: hidden;
  }
  .kg-bookmark-title {
    font-weight: bold;
    font-size: 14px;
    line-height: 1.4em;
  }
  .kg-bookmark-description {
    display: -webkit-box;
    font-size: 14px;
    line-height: 1.5em;
    margin-top: 3px;
    font-weight: 400;
    max-height: 44px;
    overflow-y: hidden;
    @include color($color-contrast-500);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .kg-bookmark-metadata {
    display: flex;
    align-items: center;
    margin-top: 16px;
    width: 100%;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
  }
  .kg-bookmark-metadata > :not(img) {
    @include color($color-contrast-500);
  }
  .kg-bookmark-icon {
    width: 20px !important;
    height: 20px  !important;
    margin-bottom: 0 !important;
    display: flex;
    border-radius: 2px;
    padding: 2px;
    background-color: white;
  }
  .kg-bookmark-author {
    display:inline;
    margin-left: 8px;
  }
  .kg-bookmark-publisher {
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 240px;
    white-space: nowrap;
    display: block;
    line-height: 1.65em;
  }
  .kg-bookmark-metadata > span:nth-of-type(2) {
    font-weight: 400;
  }
  .kg-bookmark-metadata > span:nth-of-type(2):before {
    content: "•";
    margin: 0 8px;
  }
  .kg-bookmark-metadata > span:last-of-type {
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .kg-bookmark-thumbnail {
    position: relative;
    flex-grow: 1;
    min-width: 33%;
  }
  .kg-bookmark-thumbnail img, .kg-collection-card-img img {
    position: absolute;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    margin: 0 !important;
  }
  .kg-bookmark-thumbnail img {
    top: 0;
    left: 0;
    border-radius: 0 8px 8px 0;
    width: unset;
    margin: 0;
  }
}

@media (max-width: $small-breakpoint) {
  .entry-inner {
    img[data-camo-src],
    .full-width-candidate {
      visibility: hidden;
      &.full-width,
      &.show {
        visibility: visible;
      }
    }
  }
  .entry-column .entry-inner {
    img.full-width,
    .fluid-width-video-wrapper,
    .media-container {
      width: 100vw !important;
      max-width: none !important;
      margin-left: base-units(-2) !important;
    }
  }
}

.content-styles .entry-callout,
.entry-callout {
  @include background-color($color-contrast-100);
  @include color($color-contrast-500);
  position: relative;
  @include font-size(13);
  border-radius: 8px;
  margin: 1.1em 0 1.1em 0;
  padding: 8px 16px;
  @media (max-width: $small-breakpoint) {
    padding: 8px;
  }
  strong {
    font-weight: 700 !important;
  }
}

.content-styles .iframe-embed .entry-callout,
.iframe-embed .entry-callout {
  @include background-color($theme-color-midnight-100);
}

.iframe-embed {
  a:hover {
    text-decoration: none;
  }
  .image-wrap {
    display: block;
    position: relative;
    height: 0;
    width: 100%;
    background: black;
    .inner {
      cursor: pointer;
      background-color: black;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    iframe {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
    }
  }
  img {
    margin-bottom: 0 !important;
    max-height: 100% !important;
    max-width: 100% !important;
  }
  .embed-profile {
    display: flex;
    margin-top: 0;
    @include color($color-contrast-600);
    line-height: 1.4;
    &:hover {
      @include color($color-contrast-600, $extra: !important);
    }
  }
  &.embed-with-image .embed-profile {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .embed-data {
    padding-right: base-units(2);
  }
  .embed-profile-image {
    width: 68px;
    height: 68px;
    margin-left: auto;
    flex-shrink: 0;
    display: block;
    img {
      border-radius: 50%;
    }
  }
  .embed-icon {
    width: 34px;
    height: 34px;
    margin-left: auto;
    flex-shrink: 0;
    display: block;
    align-items: flex-start;
    svg {
      position: relative;
      top: 5px;
      max-width: 100%;
      max-height: 100%;
      * {
        @include fill($theme-color-midnight-400);
      }
    }
    .icon-embed-source-spotify,
    .icon-embed-source-kickstarter {
      top: 2px;
    }
    .favicon-wrap {
      display: none;
    }
  }
  &.embed-type-default {
    cursor: pointer;
    .embed-icon {
      width: 20px;
      svg {
        display: none;
      }
      .favicon-wrap {
        display: flex;
      }
    }
  }
  &.embed-type-rich .embed-profile {
    border-radius: 8px;
  }
  &.embed-type-rich {
    max-width: 300px;
    .image-wrap {
      padding-top: 100%;
    }
  }
  .embed-duration {
    display: none;
    position: absolute;
    right: 16px;
    bottom: 16px;
    text-align: right;
    padding: 8px;
    line-height: 1;
    border-radius: 8px;
    z-index: 1;
    font-weight: bold !important;
    background-color: rgba(black, 0.3);
    backdrop-filter: blur(8px);
    @include font-size(14);
    @include color($theme-color-midnight-700);
  }
  .play-button {
    display: none;
    width: 70px;
    height: 39px;
    background-color: rgba(black, 0.3);
    backdrop-filter: blur(8px);
    border-radius: 4px;
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    z-index: 100;
    pointer-events: none;
    .play-button-inner {
      width: 20px;
      height: 20px;
      position: absolute;
      margin: auto;
      left: 0;
      right: 0;
      bottom: 0;
      top: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      svg {
        position: absolute;
        max-width: 100%;
        max-height: 100%;
        fill: white;
      }
    }
  }
  &.embed-type-video {
    .image-wrap {
      display: block;
      padding-top: 56.25%;
    }
    &:not(.loaded) .embed-duration {
      display: inline-block;
    }
    &:not(.loaded) .image-wrap:hover .play-button {
      display: block;
      .touch & {
        display: none;
      }
    }
  }
  .embed-title {
    font-weight: bold !important;
    @include font-size(14);
    display: block;
    @include color($theme-color-midnight-700);
  }
  .embed-subhead {
    @include font-size(14);
    display: block;
    @include color($theme-color-midnight-700);
  }
  .embed-subtitle {
    @include font-size(14);
    display: block;
    @include color($theme-color-midnight-500);
  }
}

.entry-final-content a,
.tweet-text a,
.micropost-text a,
dialog .content-styles a {
  text-decoration: underline;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
  @include color($color-contrast-700);
  &:hover {
    @include color($color-hover);
  }
}

.font-default {
  .content-styles {
    font-family: ui-sans-serif, system-ui, $font-stack;
  }
}

.font-serif-1 {
  .content-styles {
    font-family: "Sentinel SSm A", "Sentinel SSm B", $font-stack;
    font-weight: 400;
    font-style: normal;
    strong {
      font-weight: 700;
    }
    em {
      font-style: italic;
    }
    .post-meta {
      font-family: $font-stack;
      font-weight: 400;
    }
  }
  .entry-header h1 {
    font-family: "Sentinel SSm A", "Sentinel SSm B", $font-stack;
    font-weight: 400;
  }
}

.font-serif-2 {
  .content-styles {
    font-family: "Mercury SSm A", "Mercury SSm B", $font-stack;
    font-weight: 300;
    font-style: normal;
    strong {
      font-weight: 500;
    }
    em {
      font-style: italic;
    }
    .post-meta {
      font-family: $font-stack;
      font-weight: 400;
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-weight: 700;
      font-family: "Whitney SSm A", "Whitney SSm B", $font-stack;
      strong {
        font-weight: 700;
      }
    }
  }
  .entry-header h1 {
    font-weight: 700;
    font-family: "Whitney SSm A", "Whitney SSm B", $font-stack;
  }
}

.font-serif-3 {
  .content-styles {
    font-family: ui-serif, Georgia, serif;
    font-weight: 400;
    font-style: normal;
    strong {
      font-weight: 700;
    }
    em {
      font-style: italic;
    }
    .post-meta {
      font-family: $font-stack;
      font-weight: 400;
    }
  }
  .entry-header h1 {
    font-weight: 700;
    font-family: ui-sans-serif, system-ui, $font-stack;
  }
}

.font-sans-serif-1 {
  .content-styles {
    font-family: "Whitney SSm A", "Whitney SSm B", $font-stack;
    font-weight: 400;
    font-style: normal;
    strong {
      font-weight: 700;
    }
    em {
      font-style: italic;
    }
  }
  .entry-header h1 {
    font-family: "Whitney SSm A", "Whitney SSm B", $font-stack;
    font-weight: 700;
  }
}

.font-sans-serif-2 {
  .content-styles {
    font-family: "Ideal Sans A", "Ideal Sans B", $font-stack;
    font-weight: 300;
    font-style: normal;
    strong {
      font-weight: 600;
    }
    em {
      font-style: italic;
    }
  }
  .entry-header h1 {
    font-family: "Ideal Sans A", "Ideal Sans B", $font-stack;
    font-weight: 600;
  }
}

.font-size-0 {
  font-size: 70%; /*11px*/
}
.font-size-1 {
  font-size: 77%; /*12px*/
}
.font-size-2 {
  font-size: 83%; /*13px*/
}
.font-size-3 {
  font-size: 90%; /*14px*/
}
.font-size-4 {
  font-size: 96%; /*15px*/
}
.font-size-5 {
  font-size: 100%; /*16px*/
}
.font-size-6 {
  font-size: 110%; /*18px*/
}
.font-size-7 {
  font-size: 123%; /*20px*/
}
.font-size-8 {
  font-size: 135%; /*22px*/
}
.font-size-9 {
  font-size: 147%; /*24px*/
}

.content-styles {
  .system-content,
  .system-content h1 {
    font-family: $font-stack;
    font-weight: normal;
    a {
      text-decoration: none;
      position: static;
    }
    img {
      max-width: unset;
      width: auto;
    }
  }
  center .system-content {
    text-align: left;
  }
}

.content-styles img,
img.responsive {
  max-width: 100%;
  display: inline-block;
  height: auto;
  margin: 0 0 10px 0;
  vertical-align: middle;
  &[align="left"] {
    float: none;
  }
  &[align="right"] {
    float: none;
  }
  &.hide {
    display: none;
  }
  &[rel="emoji"] {
    display: inline;
    margin: 0;
  }
}

.inline-diff {
  ins {
    background: #c1ead1;
    color: #022f14;
    a {
      color: #022f14;
    }
  }

  ins,
  .diff-ins {
    text-decoration: none;
  }

  ins a,
  .diff-ins a,
  a.diff-ins {
    text-decoration: underline;
  }

  img.diff-ins,
  code.diff-ins {
    border: 2px solid #c1ead1;
  }

  del {
    background: #eec2cb;
    color: #33030d;
    a {
      color: #33030d;
    }
    img {
      opacity: 0.5;
    }
    text-decoration: line-through;
  }

  img.diff-del,
  code.diff-del {
    border: 2px solid #eec2cb;
  }

  img.diff-del {
    opacity: 0.5;
  }
}

.radio input {
  margin-top: 2px;
}

.tweet-wrap {
  .tweet-mentions {
    @include font-size(14);
    @include color($color-contrast-500);
    margin-bottom: 10px;
    a {
      @include color($color-contrast-500);
    }
  }
  .tweet-header {
    margin-bottom: 0.6em;
    position: relative;
    .profile-wrap {
      display: flex;
      align-items: center;
      position: relative;
      a {
        border-bottom: none;
        background: none;
        &:hover {
          border-bottom: none;
        }
      }
    }
    .profile-info {
      flex-grow: 1;
      min-width: 0;
    }
    .profile-image-wrap {
      margin-right: 8px;
      line-height: 1;
      flex-shrink: 0;
    }
    .author-profile-wrap {
      position: relative;
    }
    .author-profile {
      z-index: 10000;
      width: 304px;
      @include background-color($color-base-alt);
      @include border($color-borders);
      box-shadow: $box-shadow-dropdown;
      border-radius: 8px;
      position: absolute;
      top: 47px;
      left: 0;
      transition: opacity 0.2s ease-in;
      overflow: hidden;
      .author-profile-inner {
        padding: 0 base-units(2) base-units(2) base-units(2);
        margin-top: base-units(-5);
        transition: 0.05s ease-in margin;
        @media (max-height: 768px) {
          margin-top: base-units(-7);
        }
      }
      .profile-banner {
        position: relative;
        height: 100px;
        @include background-color($color-contrast-200);
        img {
          width: 100%;
        }
      }
      .profile-info h1 {
        @include font-size(16);
        svg {
          margin-left: 2px;
          position: relative;
          top: 5px;
        }
      }
      .profile-image-wrap {
        margin-right: 8px;
        line-height: 1;
        flex-shrink: 0;
      }
      .profile-image {
        position: relative;
        svg {
          position: absolute;
          bottom: 0;
          right: -5px;
        }
      }
      .profile-meta-wrap {
        display: flex;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }
      .profile-meta {
        @include font-size(14);
        @include color($color-contrast-500);
        margin-right: 16px;
        display: flex;
        align-items: center;
        overflow: hidden;
        svg {
          flex-shrink: 0;
          margin-right: 4px;
          @include fill($color-icons);
        }
        span,
        time {
          overflow: hidden;
          text-overflow: ellipsis;
          white-space: nowrap;
          display: block;
        }
        strong {
          @include color($color-contrast-600);
          margin-right: 4px;
        }
        &.joined {
          flex-shrink: 0;
        }
        .calendar-icon {
          flex-shrink: 0;
          margin-right: 4px;
          position: relative;
          width: 15px;
          height: 16px;
          overflow: visible;
          svg {
            margin: 0;
          }
          .icon-calendar {
            position: absolute;
            top: 0;
            left: 0;
          }
          .date {
            overflow: visible;
            position: absolute;
            width: 7px;
            height: 5px;
            display: flex;
            justify-content: center;
            top: 8px;
            left: 4px;
            svg {
              margin: 0;
              &:nth-child(2n) {
                margin-left: 1px;
              }
            }
          }
        }
      }
      &.show {
        opacity: 1;
      }
      .profile-image {
        margin-right: 0;
        margin-bottom: 16px;
      }
      .tweet-text {
        white-space: normal;
        @include font-size(15);
        &:last-child {
          margin-bottom: 0;
        }
      }
      .profile-wrap {
        display: flex;
        justify-content: center;
      }
    }
    h1 {
      @include font-size(18);
      margin: 0;
      margin: 0 0 0.2em 0;
      display: flex;
      align-items: baseline;
      line-height: 1.2;
      flex-grow: 1;
      .link {
        font-weight: normal;
        @include color($color-contrast-500);
        text-decoration: none;
        background: none;
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        strong {
          font-weight: bold;
          @include color($color-contrast-700);
        }
      }
    }
    .profile-image img {
      margin: 0;
      $size: 47px;
      border: 2px solid white;
      border-radius: 50%;
      height: $size;
      width: $size;
      box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1);
      .theme-day & {
        box-shadow: none;
      }
      &.large {
        height: auto;
        width: 100%;
        max-height: 270px;
        object-fit: cover;
        box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.1);
        transition: 0.1s ease-out width;
        .theme-day & {
          box-shadow: 0px 0px 10px 1px rgba(0, 0, 0, 0.1);
        }
        @media (max-height: 768px) {
          width: 50%;
        }
      }
    }
    .tweet-actions {
      display: flex;
      align-items: baseline;
      margin-left: auto;
      .tweet-link svg,
      .twitter-conversation-link svg {
        @include fill($color-icons);
      }
      .tweet-link {
        padding-left: 15px;
        display: block;
        svg {
          width: 18px;
          height: 15px;
        }
      }
      .twitter-conversation-link {
        bottom: -2px;
        position: relative;
        padding-left: 15px;
        svg {
          width: 18px;
          height: 18px;
        }
      }
    }
  }
  .tweet-body img {
    max-width: 100%;
  }
  .entry-header {
    font-size: 1.15em;
    h1 {
      font-size: 1.3em;
      line-height: 1.2;
    }
  }
  .tweet-meta {
    @include font-size(16);
    @include color($color-contrast-500);
    margin-bottom: base-units(2);
    img {
      position: relative;
      border-radius: 16px;
      margin-right: 8px;
    }
    a {
      display: flex;
      align-items: center;
      @include color($color-contrast-500);
      text-decoration: none;
    }
  }
  .new-section {
    position: relative;
    margin-bottom: 0.4em;
    display: flex;
    align-items: center;
    .favicon-wrap {
      margin-right: 8px;
      position: static;
    }
  }
  .tweet-text {
    white-space: pre-wrap;
    font-size: 1.15em;
    line-height: 1.4;
    @include color($color-contrast-600);
    font-family: $font-stack;
    overflow-wrap: break-word;
    margin: 1.1em 0 1.1em 0;
  }
  .micropost-text {
    line-height: 1.4;
    font-family: $font-stack;
    font-weight: normal;
  }
  .header-time {
    display: none;
  }
  .main-tweet-conversation {
    .twitter-conversation-link {
      display: none;
    }
  }
  .quoted-tweet {
    margin-bottom: 1.1em;
    padding: 14px 16px;
    border-radius: 4px;
    @include border($color-borders);
    .twitter-conversation-link {
      display: none;
    }
    .tweet-link:not(.embed) {
      display: none !important;
    }
    p:last-child {
      margin-bottom: 0;
    }
  }
  &.profile {
    .profile-info {
      strong {
        display: block;
      }
    }
  }
}

dialog {
  .twitter-conversation-link {
    display: none;
  }
  .context-menu {
    display: none;
  }
  .tweet-body {
    padding-left: 57px;
    @media (max-width: $small-breakpoint) {
      padding-left: 0;
    }
  }
  .main-tweet-conversation .quoted-tweet .tweet-body {
    padding-left: 0;
  }
  .micropost-wrap {
    margin-top: 0;
  }
  .micropost-text p:first-child {
    margin-top: 0;
  }
  .micropost {
    margin-bottom: 1.1em;
  }
  .micropost + .micropost,
  .reply {
    padding-top: 1.1em;
    @include border-top($color-borders);
  }
  .tweet-author-reply {
    border-top: none !important;
    padding-top: 0 !important;
  }
  .reply {
    .tweet-mentions,
    .tweet-link {
      display: none !important;
    }
  }
}

.entry-column.wide {
  .entry-main-tweet {
    .profile-image-wrap {
      position: absolute;
      left: -60px;
      .fluid &,
      .fluid-1 & {
        position: static;
      }
    }
  }
  .new-section {
    position: relative;
    .favicon-wrap {
      position: absolute;
      top: -2px;
      left: -30px;
      .fluid &,
      .fluid-1 & {
        position: static;
      }
    }
  }
}

.notification {
  $height: 48px;
  z-index: 10000;
  width: 100%;
  position: fixed;
  align-items: center;
  justify-content: center;
  display: flex;
  visibility: visible;
  padding: 0 8px;
  bottom: -$height;
  .notification-content-wrap {
    display: flex;
    align-items: center;
    @include background-color($color-base-dark-700);
    min-width: 350px;
    border-radius: 4px;
    height: $height;
    opacity: 0;
    transition: transform 0.2s cubic-bezier(0.18, 0.89, 0.32, 1.28),
      opacity 0.2s ease-in;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.15);
    @media (max-width: $small-breakpoint) {
      min-width: 100%;
      max-width: 100%;
    }
  }
  &.visible {
    .notification-content-wrap {
      transform: translateY(-100px);
      opacity: 1;
    }
  }
  &.fade-out {
    .notification-content-wrap {
      opacity: 0;
    }
  }
  &.hide {
    display: flex;
    visibility: hidden;
  }
  .notification-content {
    font-size: 16px;
    white-space: nowrap;
    color: white;
    text-overflow: ellipsis;
    overflow: hidden;
    a {
      color: white;
      text-decoration: none;
    }
  }
  .icon-container {
    height: $height;
    width: $height;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    &:last-child {
      margin-left: auto;
    }
  }
  .icon-error-message {
    display: none;
  }
  &.error {
    .icon-success-message {
      display: none;
    }
    .icon-error-message {
      display: block;
    }
  }
  .icon-close {
    @include fill($color-contrast-400);
  }
  @media (max-width: $small-breakpoint) {
    bottom: unset;
    top: -$height;
    &.visible {
      .notification-content-wrap {
        transform: translateY($height + 8);
      }
    }
  }
  .native & {
    bottom: unset;
    top: -$height;
    &.visible {
      top: 0;
      .notification-content-wrap {
        transform: translateY($height);
      }
    }
  }
}

body:has(dialog[open]) > .notification {
  display: none;
}

.content-option {
  margin-top: 1.1em;
}

.newsletter {
  max-width: 100%;
  background-color: white;
  overflow: hidden;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
}

.content-option-switch {
  display: flex;
  align-items: center;
  [class^="favicon"] {
    @include fill($color-contrast-400);
  }
  .switch {
    margin-left: auto;
    position: static;
  }
}

.extract-active .content-option-form {
  display: none;
}

.newsletter-content-option-form {
  display: none;
  .shadow-dom & {
    display: block;
  }
}

/*------------------------------------------------------------------------------
Settings
------------------------------------------------------------------------------*/

.logo-full {
  @include fill($color-contrast-700);
  $color-full-logo-foreground: (
    debug: color-logo-foreground,
    day: $theme-color-700,
    sunset: $theme-color-sunset-700,
    dusk: $theme-color-dusk-base,
    midnight: $theme-color-midnight-base,
  );
  $color-full-logo-background: (
    debug: color-logo-foreground,
    day: transparent,
    sunset: transparent,
    dusk: $theme-color-dusk-700,
    midnight: $theme-color-midnight-700,
  );
  #logo_foreground {
    @include fill($color-full-logo-foreground);
  }
  #logo_background {
    @include fill($color-full-logo-background);
  }
}

.content-inner {
  margin-top: 20px;
  padding: 4px 20px 12px 20px;
  background-color: white;
  border: 1px solid map-get($color-borders, day);
  border-radius: 4px;
}

.settings-nav {
  flex-direction: column;
  width: 310px;
  @include background-color($color-sidebar);
  @include border-right(
    map-merge(
      $color-borders,
      (
        day: transparent,
        sunset: transparent,
      )
    )
  );
  .logo {
    padding: 39px 0 0 base-units(3);
    display: block;
    svg {
      width: 140px;
      height: 38px;
    }
  }
}

.desktop-hide {
  display: block;
  @include respond-to(screen-sm) {
    display: none;
  }
}

.settings-nav {
  display: none;
  @media (min-width: 700px) {
    display: flex;
  }
}

.nav {
  margin: 0 0 0 0;
  padding: 0;
  list-style: none;
  li {
    margin-bottom: 4px;
  }
  .nav-header {
    font-weight: bold;
    display: flex;
    align-items: center;
    margin: 16px 0;
  }
  .menu-text {
    display: flex;
    flex-direction: column;
    .title {
      @include font-size(16);
    }
    .subtitle {
      margin-top: 4px;
      @include font-size(14);
      @include color($color-contrast-500);
    }
  }
  .icon-wrap {
    width: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: base-units(1);
    svg {
      @include fill($color-icons);
    }
  }
  a,
  button {
    appearance: none;
    border: 0;
    background-color: transparent;
    display: flex;
    text-align: left;
    padding: base-units(1);
    border-radius: 4px;
    align-items: center;
    @include color($color-contrast-700);
    &:hover {
      text-decoration: none;
      @include background-color($color-contrast-200);
    }
    &.active {
      @include background-color($color-selected);
      @include color(white);
      .title {
        @include color(white);
      }
      .subtitle {
        @include color($color-selected-muted);
      }
      .icon-wrap {
        svg {
          @include fill(white);
        }
      }
    }
    body.touch &:hover {
      background-color: transparent !important;
    }
  }
  .log-out {
    display: none;
  }
  .settings & {
    padding: 0 base-units(3);
    .nav-header {
      @include color($color-contrast-700);
      margin: base-units(4) 0 base-units(2) 0;
    }
    .icon-wrap {
      svg {
        @include fill($color-contrast-600);
      }
    }
  }
  dialog & {
    a {
      @include color($color-contrast-700);
    }
  }
}

.nav-small {
  position: relative;
  padding-top: 32px !important;
  margin: 32px 0 0 0;
  li {
    margin: 0;
  }
  a {
    @include font-size(14);
    padding-left: base-units(4);
    &:hover span {
      background-color: transparent;
    }
    .settings-inner & {
      @include color($color-contrast-500);
      &:hover {
        @include color($color-contrast-600);
      }
    }
  }
  &.divider {
    &:before {
      content: "";
      display: block;
      position: absolute;
      height: 1px;
      left: 38px;
      right: 38px;
      top: 0;
      @include background-color($color-borders);
    }
  }
  .settings-inner & {
    &.divider {
      &:before {
        @include background-color($color-borders);
      }
    }
  }
}

.settings-button-wrap {
  display: flex;
  .subscribe-toolbar & {
    display: none;
    .has-offscreen-panels & {
      display: flex;
    }
  }
  .app-settings-button {
    display: none;
    .native & {
      display: flex;
    }
  }
  .web-settings-button {
    display: flex;
    .dropdown-content {
      top: $toolbar-height - 6;
      right: 8px !important;
    }
    .native & {
      display: none;
    }
  }
  .has-offscreen-panels .entry-toolbar &,
  .has-offscreen-panels .account-toolbar & {
    display: none;
  }
  .nav-header {
    display: none;
  }
  .nav-small {
    display: none;
  }
  li.divider {
    margin-top: base-units(1);
    padding-top: base-units(1);
    position: relative;
    &:before {
      content: "";
      display: block;
      position: absolute;
      height: 1px;
      top: 0;
      left: base-units(5);
      right: base-units(1);
      @include background-color($color-borders);
    }
  }
  .log-out {
    display: block;
  }
}

dialog {
  .action-description {
    border-radius: 8px;
    margin-bottom: 16px;
    border-left-width: 1px;
    border-right-width: 1px;
  }
  .content {
    padding: 16px;
    word-wrap: break-word;
  }
}
.action-description {
  @include border($color-borders);
  border-width: 1px 0 1px 0;
}
.action-preview-entries {
  position: static;
  margin-left: auto;
  margin-right: auto;
  ul li .entries-inner-wrap {
    margin-left: 25px;
  }
  .entries-inner-wrap {
    padding-right: 0;
  }
  .entry-image,
  .link-preview,
  .summary-status {
    display: none !important;
  }
  .entry-summary-link, .entry-summary-inner {
    padding-left: 0;
    padding-right: 0;
  }
  a,
  div {
    pointer-events: none;
  }
}


@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.spinner-container,
.spinner-container-small {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.spinner-container-small {
  height: auto;
}
.spinner {
  $size: 16px;
  height: $size;
  width: $size;
  position: relative;
  display: block;
  &:before,
  &:after {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    border-radius: 50%;
    display: block;
    content: "";
    height: $size;
    width: $size;
  }
  &:before {
    border: 2px solid transparent;
    @include border-color($color-contrast-300);
  }
  &:after {
    transform: translateZ(0);
    animation: spin 1s infinite linear;
    border-top: 2px solid transparent;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-left: 2px solid transparent;
    @include theme("border-left-color", $color-contrast-400);
  }
  &.large {
    $size: 32px;
    height: $size;
    width: $size;
    &:before,
    &:after {
      border-width: 4px;
      height: $size;
      width: $size;
    }
  }
}

.card-meta {
  display: flex;
  > * {
    flex: 1 1 0;
    margin-left: 16px;
  }
  :first-child {
    margin-left: 0;
  }
  @media (max-width: $small-breakpoint) {
    flex-direction: column;
    > * {
      margin-left: 0;
    }
  }
}


/*------------------------------------------------------------------------------
Billing/Subscribe
------------------------------------------------------------------------------*/
#payment_request_button {
  width: 150px;
  display: none;
}
#credit_card_button {
  display: none;
  &.update-cc-button {
    display: inline-block !important;
  }
}
.subscribe-description {
  display: none;
  .payment-loaded & {
    display: block;
  }
}
#credit_card_payment {
  margin-bottom: 8px;
}
[data-behavior="billing_option_apple_pay"] {
  display: none;
}
[data-behavior="billing_option_payment_request"] {
  display: none;
}
[data-behavior="payment_method"],
[data-behavior="credit_card_details"] {
  display: none;
}
.native-payment {
  [data-behavior="payment_method"] {
    display: block;
  }
  [data-behavior="billing_option_payment_request"] {
    display: block;
  }
  #payment_request_button {
    display: inline-block;
  }
}
.apple-pay {
  [data-behavior="billing_option_apple_pay"] {
    display: block;
  }
  [data-behavior="billing_option_payment_request"] {
    display: none;
  }
}
.native-payment.billing_method_credit_card {
  [data-behavior="credit_card_details"] {
    display: block;
  }
  #credit_card_button {
    display: inline-block;
  }
  #payment_request_button {
    display: none;
  }
}

.no-native-payment {
  #credit_card_button {
    display: inline-block;
  }
  [data-behavior="credit_card_details"] {
    display: block;
  }
}


/*------------------------------------------------------------------------------
Link Viewer
------------------------------------------------------------------------------*/
.placeholder-content * {
  margin-bottom: 16px;
}
.placeholder-content h1:empty,
.placeholder-content p:empty {
  @include background($color-contrast-300);
}
.placeholder-content p:empty {
  height: 12px;
}
.placeholder-content p:nth-child(2n), .placeholder-content svg:nth-child(2n) {
  width: 90%;
}
.placeholder-content p:nth-child(3n), .placeholder-content svg:nth-child(3n) {
  width: 96%;
}
.placeholder-content p:last-child, .placeholder-content svg:last-child {
  width: 30%;
}

.view-link-error-container {
  display: flex;
  justify-content: center;
  flex-direction: column;
  .view-link-error {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
    font-size: 24px;
    margin-bottom: 40px;
    svg {
      margin-right: base-units(1);
    }
  }
  p {
    display: inline-block;
    text-align: center;
  }
}

/*------------------------------------------------------------------------------
Helpers
------------------------------------------------------------------------------*/
.full-height {
  height: 100%;
}

.align-right {
  text-align: right;
}

.align-left {
  text-align: left !important;
}

.align-center {
  text-align: center;
}

.pad-top {
  padding-top: 20px;
}

.pad-bottom {
  padding-bottom: 20px;
}

// Hide tracking pixels
img[height="1"][width="1"] {
  display: none;
}

.button-inverse {
  -webkit-font-smoothing: antialiased;
}

.alert {
  padding: 8px 35px 8px 14px;
  margin-bottom: 20px;
  @include background-color($color-selected);
  color: white;
  border-radius: 4px;
}

.alert:empty {
  display: none;
}

.alert h4 {
  color: white;
  margin: 0;
}

.alert .close {
  position: relative;
  top: -2px;
  right: -21px;
  line-height: 20px;
}

.alert-success {
  @include background-color($color-selected);
}

.alert-info,
.alert-danger,
.alert-error {
  @include background-color($color-accent-red-600);
}

.alert-block {
  padding-top: 14px;
  padding-bottom: 14px;
}

.visually-hidden,
.ui-helper-hidden-accessible,
.mejs__offscreen,
.mejs_empty__offscreen {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ui-resizable-e {
  height: 100%;
  width: 8px;
  position: absolute;
  background-color: transparent;
  right: -4px;
  top: 0;
  cursor: col-resize;
}

.no-margin {
  margin: 0;
}

.half-margin {
  margin-bottom: 8px;
}

hr {
  @include background-color($color-contrast-200);
  @include color($color-contrast-200);
  clear: both;
  float: none;
  width: 100%;
  height: 1px;
  margin: 25px 0;
  border: none;
  display: block;
}

hr.space-small {
  margin: 10px 0;
  background: transparent;
  color: transparent;
  visibility: hidden;
}

hr.space {
  background: transparent;
  color: transparent;
  visibility: hidden;
}

hr.space-large {
  background: transparent;
  color: transparent;
  visibility: hidden;
  padding: 15px 0;
}

hr.nospace {
  background: transparent;
  color: transparent;
  visibility: hidden;
  margin: 0;
}

.inline {
  display: inline;
}

.por {
  position: relative;
}

.half {
  width: 50%;
  float: left;
}

.float-right {
  float: right;
}

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.hide {
  display: none;
}

.hidden {
  visibility: hidden;
}

input[type="text"].hide {
  display: none;
}

.show {
  display: block;
}

.invisible {
  visibility: hidden;
}

.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.truncated {
  display: block;
  text-overflow: ellipsis;
  overflow-x: hidden;
  white-space: nowrap;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.large {
  font-size: 14px;
}

.x-large {
  font-size: 18px;
}

.muted {
  @include color($color-contrast-600);
}

.extra-muted {
  @include color($color-contrast-500);
}

.faded {
  @include color($color-contrast-400);
}

.danger {
  @include color($color-accent-red-600);
}

a:hover.danger {
  color: $color-accent-red-600;
}

.xs-hide {
  display: none;
  @include respond-to(screen-xs) {
    display: block;
  }
}

.sm-hide {
  display: none;
  @include respond-to(screen-sm) {
    display: block;
  }
}

.md-hide {
  display: none;
  @include respond-to(screen-md) {
    display: block;
  }
}

.lg-hide {
  display: none;
  @include respond-to(screen-lg) {
    display: block;
  }
}

.xs-show {
  display: block;
  @include respond-to(screen-xs) {
    display: none;
  }
}

.sm-show {
  display: block;
  @include respond-to(screen-sm) {
    display: none;
  }
}

.md-show {
  display: block;
  @include respond-to(screen-md) {
    display: none;
  }
}

.lg-show {
  display: block;
  @include respond-to(screen-lg) {
    display: none;
  }
}

.shake {
  @keyframes shake {
    10%,
    90% {
      transform: translateX(-2px);
    }
    20%,
    80% {
      transform: translateX(3px);
    }
    30%,
    50%,
    70% {
      transform: translateX(-5px);
    }
    40%,
    60% {
      transform: translateX(5px);
    }
  }
  animation: shake 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

.password-message {
  margin: 0 0 base-units(3) 0;
  @include font-size(14);
}

.status-indicator {
  overflow: hidden;
  display: flex;
  align-items: center;
  .icon-star-on {
    height: 12px !important;
    width: 12px !important;
  }
}

.status-flag {
  width: 38px;
  height: 20px;
  position: absolute;
  overflow: hidden;
  display: none;
  &:before {
    position: absolute;
    top: 0;
    left: 0;
    background-repeat: no-repeat;
    width: 38px;
    height: 21px;
    content: "";
    z-index: 1;
  }
  &:after {
    position: absolute;
    top: 4px;
    left: 9px;
    @include background-color($color-base);
    height: 44px;
    width: 35px;
    content: "";
    transform: rotate(63deg);
    z-index: 2;
  }
  &.icon-muted {
    left: 0;
    top: -1px;
    &:before {
      @include background-color(
        (
          debug: color-contrast-inverted-600,
          day: $theme-color-600,
          sunset: $theme-color-sunset-600,
          dusk: $theme-color-dusk-200,
          midnight: $theme-color-midnight-200,
        )
      );

      background-image: image-url("icon-muted.svg");
      background-position: 4px 3px;
      background-size: 9.693px 9.693px;
    }
    .status-muted & {
      display: block;
    }
  }
  &.icon-error {
    left: 0;
    top: -1px;
    &:before {
      background-color: $color-accent-red-600;
      background-image: image-url("icon-bang.svg");
      background-position: 4px 3px;
      background-size: 4px 10px;
    }
    .status-muted & {
      display: block;
    }
  }
}

.theme-color-body {
  width: 5px;
  height: 5px;
  @include background-color($color-base);
}

.theme-color-border {
  width: 5px;
  height: 5px;
  @include background-color($color-borders);
}

/*------------------------------------------------------------------------------
Login and Sign Up
------------------------------------------------------------------------------*/
.login {
  @include background-color($color-contrast-100, $root: true);
  padding: 15px;
  display: flex;
  align-items: center;
  a {
    @include color($color-link);
  }
  .login-wrap {
    margin: auto;
    width: 400px;
  }
  .logo {
    display: block;
    margin: 0 auto 32px auto;
    display: flex;
    align-items: center;
    justify-content: center;
    svg {
      width: 180px !important;
      height: auto !important;
      #logo_foreground {
        @media (prefers-color-scheme: dark) {
          fill: $theme-color-dusk-100;
        }
      }
    }
  }
  .content {
    position: static;
    width: 100%;
  }
  .box-header {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    margin: 0 0 15px 0;
    @include color($color-contrast-700, $root: true);
  }
  .box {
    border: 1px solid transparent;
    @include border-color($color-borders, $root: true);
    border-radius: 4px;
    background-color: white;
    @include background-color($color-base, $root: true);
    margin: 0 auto 14px auto;
    width: 100%;
    max-width: 400px;
    padding: 15px;
    .alert {
      margin-top: 0;
    }
    @include respond-to(screen-xs) {
      padding: 36px;
    }
  }
  .input-group {
    margin-bottom: 16px;
  }
  .field_with_errors + input {
    margin-top: 10px !important;
  }
  .forgot-link {
    display: block;
    margin: 10px 0 0 0;
    text-align: center;
    @include color($color-contrast-500);
  }
}

/*------------------------------------------------------------------------------
Receipt
------------------------------------------------------------------------------*/
.company-info,
.customer-info {
  display: inline-block;
}
.company-info {
  float: right;
  background: image-url("logo.svg") 0 5px no-repeat;
  background-size: auto 50px;
  padding-left: 80px;
}
.customer-info {
  float: left;
}

/*------------------------------------------------------------------------------
Right-to-left
------------------------------------------------------------------------------*/
[dir="rtl"] {
  text-align: right;
  .content-styles {
    font-size: 1.25em;
  }
  blockquote {
    padding: 0 15px 0 0;
    border-right: 5px solid map-get($color-borders, day);
    border-left: none;
  }
}

/*------------------------------------------------------------------------------
Print
------------------------------------------------------------------------------*/
@media print {
  @page {
    margin: 1in;
  }
  body, html {
    font-weight: 400;
    font-style: normal;
    overflow: visible !important;
    height: auto !important;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: $font-stack !important;
  }
  hr {
    background: none;
    border-top: 1px solid #333;
  }
  h2,
  ul {
    page-break-after: avoid;
  }
  p {
    orphans: 3;
    widows: 3;
  }
  p,
  li,
  blockquote,
  table {
    font-size: 12pt;
  }
  .content-option {
    font-family: ui-serif, Georgia, serif !important;
  }
  .app .bar,
  .app .feeds-column,
  .app .entries-column,
  .app .entry-toolbar,
  .app .entry-meta,
  .app .splash,
  .app .content-option-form {
    display: none !important;
  }
  .app .content,
  .app .entry-content,
  .app .entry-inner-column,
  .app .inner-column {
    position: static;
  }
  .app .entry-inner {
    max-width: 100%;
    padding: 0;
  }
  .entry-header .feed-title {
    display: block !important;
  }
  a[href^="http://"]:after, a[href^="https://"]:after
  {
    content: " (" attr(href) ")";
  }
}

/*------------------------------------------------------------------------------
Fullscreen
------------------------------------------------------------------------------*/
.full-screen {
  .feeds-column,
  .entries-column,
  .account-toolbar,
  .sidebar-column {
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
  }
  .app-panel {
    border-top: none;
  }
}

/*------------------------------------------------------------------------------
Media Players
------------------------------------------------------------------------------*/

.audio-container {
  margin-bottom: 10px !important;
  display: flex;
  align-items: stretch;
  .audio-image {
    flex-shrink: 0;
    height: 54px;
    width: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    @include background-color($color-contrast-200);
    position: relative;
    border: 2px solid white;
    box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.1);
    .image-container {
      line-height: 0;
    }
    img {
      max-width: 100%;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
    }
    svg {
      @include fill($color-contrast-500);
    }
  }
  .audio-text {
    margin-left: 15px;
    margin-right: 15px;
    min-width: 0;
    width: 100%;
    div {
      line-height: 1.4;
    }
    .entry-feed-title {
      font-weight: bold;
      @include color($color-contrast-700);
    }
    .audio-title,
    .audio-duration {
      @include color($color-contrast-500);
      @include font-size(12);
    }
    .entry-feed-title,
    .audio-title {
      display: block;
      text-overflow: ellipsis;
      overflow-x: hidden;
      white-space: nowrap;
    }
    .audio-title-wrap {
      display: flex;
      .audio-duration {
        margin-left: 10px;
        margin-right: 10px;
        white-space: nowrap;
      }
    }
  }
  .audio-controls {
    margin-left: auto;
    display: flex;
    align-items: center;
    a {
      line-height: 0;
    }
    svg * {
      @include fill($color-icons);
    }
    button,
    a {
      display: flex;
      align-items: center;
      justify-content: center;

      height: 100%;
      padding-left: 25px;
    }
  }
}

.audio-panel {
  cursor: pointer;
  padding: 12px 12px 0 12px;
  font-size: 13px;
  font-family: $font-stack !important;
  font-weight: 400 !important;
  @include background-color($color-contrast-100);
  @include border-top($color-borders);
  @include border-bottom($color-borders);
  width: 100%;
  left: 0;
  overflow: hidden;
  z-index: 1;
  height: 0;
  display: none;
  position: relative;
  .animate-panel & {
    transition: 0.1s ease-in height;
  }
  .audio-panel-minimized & {
    display: block;
    height: $audio-player-height-minimized;
    padding: 0;
  }
  .audio-panel-maximized & {
    display: block;
    height: $audio-player-height;
    .audio-container {
      margin: 0 0 5px 0;
    }
  }
  .feed-title-wrap {
    display: flex;
    user-select: none;
    .entry-feed-title {
      margin-right: 10px;
    }
  }
  .audio-panel-controls {
    right: 0px;
    top: 0px;
    position: absolute;
    white-space: nowrap;
    width: 30px;
    height: 39px;
    .button-change-size {
      &:after {
        display: block;
        content: "+";
        .audio-panel-maximized & {
          content: "-";
        }
      }
    }
    button {
      text-decoration: none;
      display: flex;
      height: 100%;
      width: 100%;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      @include color($color-contrast-400);
      &:hover {
        text-decoration: none;
      }
    }
  }
  .audio-image {
    height: 43px;
    width: 43px;
    background-size: 11px 19px;
    .audio-panel-maximized & {
      .play-button {
        display: none;
      }
    }
    .audio-panel-minimized & {
      background-color: transparent;
      border: none;
      box-shadow: none;
      height: 48px;
      .play-button {
        display: flex;
        flex: 1;
        height: 100%;
        align-items: center;
        justify-content: center;
        svg {
          align-self: center;
          margin: auto;
        }
      }
      .image-container {
        display: none;
      }
    }
  }
  .audio-text {
    margin-left: 6px;
    margin-right: 0;
    padding-right: 20px;
    .audio-panel-minimized & {
      padding-top: 12px;
    }
    .audio-title {
      font-size: 12px;
    }
    div {
      line-height: 1.3;
    }
  }
  .audio-duration {
    .audio-panel-minimized & {
      display: none;
    }
  }
  .audio-player-controls {
    display: flex;
    justify-content: center;
    .audio-panel-minimized & {
      display: none;
    }
    button {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 40px;
      width: 40px;
      @include color($color-contrast-500);
      margin-left: 20px;
      &:first-child {
        margin-left: 0;
      }
    }
    svg {
      @include fill($color-icons);
      @include color($color-icons);
    }
  }
}

.play-button {
  .icon-pause {
    display: none;
  }
  &.playing {
    .icon-pause {
      display: block;
    }
    .icon-play {
      display: none;
    }
  }
  &.paused {
    .icon-pause {
      display: none;
    }
    .icon-play {
      display: block;
    }
  }
}

.audio-progress {
  height: 5px;
  left: 0;
  right: 0;
  bottom: 0;
  position: absolute;

  .mejs_empty__controls {
    height: 5px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
  }
  .mejs_empty__button,
  .mejs_empty__time,
  .mejs_empty__time-rail {
    font-size: 10px;
    height: 5px;
    line-height: 10px;
    margin: 0;
    width: 32px;
  }
  .mejs_empty__time-hovered.no-hover {
    -webkit-transform: scaleX(0) !important;
    -ms-transform: scaleX(0) !important;
    transform: scaleX(0) !important;
  }

  .mejs_empty__time-handle,
  .mejs_empty__time-handle-content {
    display: none !important;
  }

  .mejs_empty__time-handle-content {
    border: 4px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    height: 10px;
    left: -7px;
    top: -4px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    width: 10px;
  }

  .mejs_empty__time-rail:hover .mejs_empty__time-handle-content,
  .mejs_empty__time-rail .mejs_empty__time-handle-content:focus,
  .mejs_empty__time-rail .mejs_empty__time-handle-content:active {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  .mejs_empty__time-float {
    background: #eee;
    border: solid 1px #333;
    bottom: 100%;
    color: #111;
    display: none;
    height: 17px;
    margin-bottom: 9px;
    position: absolute;
    text-align: center;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 36px;
  }

  .mejs_empty__time-float-current {
    display: block;
    left: 0;
    margin: 2px;
    text-align: center;
    width: 30px;
  }

  .mejs_empty__time-float-corner {
    border: solid 5px #eee;
    border-color: #eee transparent transparent;
    border-radius: 0;
    display: block;
    height: 0;
    left: 50%;
    line-height: 0;
    position: absolute;
    top: 100%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
  }

  .mejs_empty__long-video .mejs_empty__time-float {
    margin-left: -23px;
    width: 64px;
  }

  .mejs_empty__long-video .mejs_empty__time-float-current {
    width: 60px;
  }
  .mejs_empty__button,
  .mejs_empty__time,
  .mejs_empty__time-rail {
    font-size: 10px;
    height: 5px;
    line-height: 10px;
    margin: 0;
    width: 32px;
  }
  .mejs_empty__time {
    box-sizing: content-box;
    color: white;
    font-size: 11px;
    font-weight: bold;
    height: 24px;
    overflow: hidden;
    padding: 16px 6px 0;
    text-align: center;
    width: auto;
  }
  .mejs_empty__time-rail {
    direction: ltr;
    -webkit-box-flex: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    height: 5px;
    position: relative;
  }

  .mejs_empty__time-total,
  .mejs_empty__time-buffering,
  .mejs_empty__time-loaded,
  .mejs_empty__time-current,
  .mejs_empty__time-float,
  .mejs_empty__time-hovered,
  .mejs_empty__time-float-current,
  .mejs_empty__time-float-corner,
  .mejs_empty__time-marker {
    border-radius: 2px;
    cursor: pointer;
    display: block;
    height: 5px;
    position: absolute;
  }

  .mejs_empty__time-total {
    width: 100%;
  }

  .mejs_empty__time-buffering {
    width: 100%;
  }

  @-webkit-keyframes buffering-stripes {
    from {
      background-position: 0 0;
    }
    to {
      background-position: 30px 0;
    }
  }

  @keyframes buffering-stripes {
    from {
      background-position: 0 0;
    }
    to {
      background-position: 30px 0;
    }
  }

  .mejs_empty__time-current,
  .mejs_empty__time-handle-content {
    @include background($color-selected);
  }

  .mejs_empty__time-hovered {
    background: rgba($selected, 0.5);
    z-index: 10;
  }

  .mejs_empty__time-hovered.negative {
    background: rgba(0, 0, 0, 0.2);
  }

  .mejs_empty__time-current,
  .mejs_empty__time-buffering,
  .mejs_empty__time-loaded,
  .mejs_empty__time-hovered {
    left: 0;
    -webkit-transform: scaleX(0);
    -ms-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transition: 0.15s ease-in all;
    transition: 0.15s ease-in all;
    width: 100%;
  }

  .mejs_empty__time-buffering {
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
  }

  .mejs_empty__time-hovered {
    -webkit-transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
    transition: height 0.1s cubic-bezier(0.44, 0, 1, 1);
  }

  .mejs_empty__time-hovered.no-hover {
    -webkit-transform: scaleX(0) !important;
    -ms-transform: scaleX(0) !important;
    transform: scaleX(0) !important;
  }

  .mejs_empty__time-handle,
  .mejs_empty__time-handle-content {
    border: 4px solid transparent;
    cursor: pointer;
    left: 0;
    position: absolute;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
    z-index: 11;
  }

  .mejs_empty__time-handle-content {
    border: 4px solid rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    height: 10px;
    left: -7px;
    top: -4px;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    width: 10px;
  }

  .mejs_empty__time-rail:hover .mejs_empty__time-handle-content,
  .mejs_empty__time-rail .mejs_empty__time-handle-content:focus,
  .mejs_empty__time-rail .mejs_empty__time-handle-content:active {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
  }

  .mejs_empty__time-float {
    background: #eee;
    border: solid 1px #333;
    bottom: 100%;
    color: #111;
    display: none;
    height: 17px;
    margin-bottom: 9px;
    position: absolute;
    text-align: center;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 36px;
  }

  .mejs_empty__time-float-current {
    display: block;
    left: 0;
    margin: 2px;
    text-align: center;
    width: 30px;
  }

  .mejs_empty__time-float-corner {
    border: solid 5px #eee;
    border-color: #eee transparent transparent;
    border-radius: 0;
    display: block;
    height: 0;
    left: 50%;
    line-height: 0;
    position: absolute;
    top: 100%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
  }

  .mejs_empty__long-video .mejs_empty__time-float {
    margin-left: -23px;
    width: 64px;
  }

  .mejs_empty__long-video .mejs_empty__time-float-current {
    width: 60px;
  }

  .mejs_empty__time-float {
    display: none !important;
  }
}

/*------------------------------------------------------------------------------
Bigfoot
------------------------------------------------------------------------------*/
.bigfoot-footnote__button {
  @include background-color($color-icons);
  padding: 0.1em;
  border-radius: 8px;
  min-width: 30px;
  line-height: 1;
  @include color(
    (
      day: white,
      dusk: black,
      sunset: white,
      midnight: black,
    )
  );
  font-size: 70%;
  font-weight: bold;
}
.footnote-circle {
  @include fill($color-icons);
}
.bigfoot-footnote__wrapper,
.bigfoot-footnote__content,
.bigfoot-footnote__tooltip {
  background-color: map-get($color-contrast-100, day);
  color: map-get($color-contrast-700, day);
  line-height: 1.6;
}
.bigfoot-footnote.is-active {
  opacity: 1 !important;
}
.bigfoot-footnote.is-scrollable .bigfoot-footnote__wrapper {
  &:before {
    background-image: linear-gradient(
      to bottom,
      map-get($color-contrast-100, day) 50%,
      rgba(255, 255, 255, 0) 100%
    );
  }
  &:after {
    background-image: linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0) 0%,
      map-get($color-contrast-100, day) 50%
    );
  }
}
.theme-dusk .bigfoot-footnote a,
.theme-midnight .bigfoot-footnote a {
  color: black !important;
}
.theme-auto .bigfoot-footnote a {
  @media (prefers-color-scheme: dark) {
    color: black !important;
  }
}
.theme-dusk .bigfoot-footnote a:hover,
.theme-midnight .bigfoot-footnote a:hover {
  @include color($color-selected, $extra: !important);
  text-decoration: underline !important;
}
.theme-auto .bigfoot-footnote a:hover {
  @media (prefers-color-scheme: dark) {
    @include color($color-selected, $extra: !important);
    text-decoration: underline !important;
  }
}

/*------------------------------------------------------------------------------
Media Queries
------------------------------------------------------------------------------*/
@media (max-width: 680px) {
  .subscribe-promo {
    display: none;
  }
}

.has-offscreen-panels {
  .audio-panel {
    bottom: 0;
  }
  .desktop-hide {
    display: block !important;
  }
  .ui-resizable-handle {
    display: none !important;
  }
  &.nothing-selected {
    .feeds-column {
      flex-grow: 1;
      border-right: none;
    }
    .entry-column,
    .entries-column {
      display: none;
    }
  }
  &.feed-selected {
    .feeds-column {
      display: none;
    }
  }
  &.entry-selected {
    .feeds-column {
      display: none;
    }
  }
  .entries-header {
    display: flex;
  }
  .feeds-column,
  .entries-column {
    width: 100% !important;
  }
  .search-button {
    visibility: visible !important;
  }
  .entries {
    top: -1px;
    z-index: 0;
  }
  .entry-basement {
    top: $toolbar-height;
  }
  .theme-settings {
    border-right: none !important;
  }
  .account-toolbar {
    display: none;
  }
  .feeds-inner {
    bottom: 0;
  }
  .entry-header h1 {
    font-size: 1.6em;
  }
  .entry-header .feed-title {
    display: block !important;
  }
  .entries ul li:hover.starred .icon-star {
    display: block !important;
  }
  .share-form {
    &:before {
      right: 196px;
    }
    &:after {
      right: 197px;
    }
  }
  .toolbar-tag {
    display: none !important;
  }
  .app-wrap {
    .feeds-column,
    .entries-column {
      border-right: none;
    }
  }
}

.has-offscreen-panels.touch {
  .feeds ul li .feed-link .link-inner {
    @include font-size(16);
    padding-top: 11px;
    padding-bottom: 11px;
  }
}

.one-up {
  .entry-toolbar {
    .site-info {
      .feed-button {
        margin-left: 0;
        padding: 0 10px 0 5px;
      }
      .back-button {
        display: flex;
      }
      .entry-feed-title {
        display: none;
      }
    }
  }
  .entry-inner {
    padding: base-units(2);
    padding-top: 16px + $toolbar-height;
  }
  .mobile-hide {
    display: none !important;
  }
  &.entry-selected {
    .feeds-column,
    .entries-column {
      display: none;
    }
  }
}

.one-up dialog .entry-inner {
  padding: 0;
}


/*------------------------------------------------------------------------------
Add
------------------------------------------------------------------------------*/
button.close {
  appearance: none;
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  color: map-get($color-contrast-400, day);
  svg * {
    @include fill($color-contrast-400);
  }
}

.available-subscriptions {
  opacity: 0;
  transition: opacity 0.2s linear;
}

.autocomplete-suggestions {
  width: 100% !important;
  position: static !important;
  max-height: auto !important;
}

.autocomplete-suggestion {
  font-size: 14px;
  padding: 6px 11px;
  @include color($color-contrast-700);
  @include border-bottom($color-borders);
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  overflow: hidden;
  strong {
    font-weight: normal;
  }
  &:last-child {
    border-bottom: none;
  }
  &:hover,
  &.autocomplete-selected {
    @include background-color($color-selected);
    color: white;
  }
}

.autocomplete-parent {
  position: relative;
  .autocomplete-suggestions {
    border-radius: 4px;
    @include border($color-borders);
    @include background-color($color-base-alt);
    box-shadow: $box-shadow-dropdown;
  }
  .autocomplete-suggestion {
    @include color($color-contrast-700);
    @include border-color($color-borders);
    padding: 12px 16px;
    cursor: pointer;
    &:hover,
    &.autocomplete-selected {
      @include background-color($color-selected, $extra: !important);
      color: white !important;
    }
  }
  .autocomplete-suggestion:first-child {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
  }
  .autocomplete-suggestion:last-child {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .share-autocomplete {
    z-index: 2;
    position: absolute;
    top: 32px;
    left: 7px;
    width: 100%;
    max-width: 400px;
  }
  .subscribe-tags-autocomplete {
    z-index: 2;
    position: absolute;
    top: $toolbar-height;
    left: 0;
    width: 200px;
  }
}

.swipe {
  @media (max-width: $small-breakpoint) {
    .app-wrap {
      scroll-snap-type: x mandatory;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
    }
    .app-panel {
      top: 0;
      height: 100% !important;
      width: 100% !important;
      display: block !important;
      scroll-snap-align: start;
      flex-shrink: 0;
      overflow: hidden;
    }
  }
}

.sidebar-column {
  height: 100%;
  width: 350px;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  @include border-right($color-borders);
  scroll-snap-type: x mandatory;
  .swipe & {
    white-space: nowrap;
  }
  @media (max-width: 980px) {
    width: 320px;
  }
  @media (max-width: 800px) {
    width: 300px;
  }
}

.two-up.swipe {
  .app-panel {
    top: 0;
    height: 100% !important;
    white-space: normal;
    display: block;
  }
  .sidebar-column .app-panel {
    display: inline-block !important;
    scroll-snap-align: start;
    width: 100% !important;
  }
}

.fade {
  opacity: 0;
  transition: opacity 0.1s ease;
}

.fade.show {
  opacity: 1;
}

/* tooltips */
$tooltip-arrow-width: 12px;
$tooltip-arrow-height: 6px;

.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  margin: 0;
  font-family: $font-stack;
  font-size: 12px;
  word-wrap: break-word;
  opacity: 0;
  &.show {
    opacity: 1;
  }
  .arrow {
    position: absolute;
    display: block;
    width: $tooltip-arrow-width;
    height: $tooltip-arrow-height;
    &::before {
      position: absolute;
      content: "";
      border-color: transparent;
      border-style: solid;
    }
  }
}

.bs-tooltip-top {
  padding: $tooltip-arrow-height 0;
  .arrow {
    bottom: 0;
    &::before {
      top: 0;
      border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
      @include theme(border-top-color, $color-base-dark-700);
    }
  }
}

.bs-tooltip-right {
  padding: 0 $tooltip-arrow-height;
  .arrow {
    left: 0;
    width: $tooltip-arrow-height;
    height: $tooltip-arrow-width;
    &::before {
      right: 0;
      border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height
        ($tooltip-arrow-width / 2) 0;
      @include theme(border-right-color, $color-base-dark-700);
    }
  }
}

.bs-tooltip-bottom {
  padding: $tooltip-arrow-height 0;
  .arrow {
    top: 0;
    &::before {
      bottom: 0;
      border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
      @include theme(border-bottom-color, $color-base-dark-700);
    }
  }
}

.bs-tooltip-left {
  padding: 0 $tooltip-arrow-height;
  .arrow {
    right: 0;
    width: $tooltip-arrow-height;
    height: $tooltip-arrow-width;
    &::before {
      left: 0;
      border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2)
        $tooltip-arrow-height;
      @include theme(border-left-color, $color-base-dark-700);
    }
  }
}

.bs-tooltip-auto {
  &[x-placement^="top"] {
    @extend .bs-tooltip-top;
  }
  &[x-placement^="right"] {
    @extend .bs-tooltip-right;
  }
  &[x-placement^="bottom"] {
    @extend .bs-tooltip-bottom;
  }
  &[x-placement^="left"] {
    @extend .bs-tooltip-left;
  }
}

// Wrapper for the tooltip content
.tooltip-inner {
  max-width: 200px;
  padding: 8px 8px;
  color: white;
  text-align: center;
  @include background-color($color-base-dark-700);
  border-radius: 4px;
  line-height: normal;
}

.tooltip i {
  @include background-color(
    (
      day: $theme-color-600,
      sunset: $theme-color-sunset-600,
      dusk: $theme-color-dusk-300,
      midnight: $theme-color-midnight-300,
    )
  );
  margin-left: 16px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-style: normal;
  height: 18px;
  width: 18px;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25);
  border-radius: 2px;
  font-family: $font-stack;
  line-height: 1;
  min-width: 16px;
  @include color(
    (
      day: $theme-color-200,
      sunset: $theme-color-sunset-200,
      dusk: $theme-color-dusk-600,
      midnight: $theme-color-midnight-600,
    )
  );
  font-size: 12px;
  text-align: center;
  text-transform: capitalize;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25);
}

.key-group {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.key-group + .key-group {
  margin-top: base-units(1);
}

.key {
  margin-left: base-units(1);
  display: flex;
  justify-content: center;
  align-items: center;
  height: 32px;
  width: 32px;
  @include background-color(
    (
      day: $theme-color-100,
      sunset: $theme-color-sunset-100,
      dusk: $theme-color-dusk-200,
      midnight: $theme-color-midnight-200,
    )
  );
  @include color($color-contrast-700);
  font-style: normal;
  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25);
  border-radius: 4px;
  font-family: $font-stack;
  line-height: 1;
  font-size: 16px;
  text-transform: capitalize;
  &.wide {
    width: 72px;
  }
  &.small {
    height: 18px;
    width: 18px;
  }
}

.spacer {
  margin-left: base-units(1);
}

.mute-filter-available-true .article-context-menu {
  display: block !important;
}